From b62c0f463ea5c33a634b141ca1f777f59e5699de Mon Sep 17 00:00:00 2001 From: thstyl2000 <18458458+thstyl2000@users.noreply.github.com> Date: Sun, 19 Jul 2026 13:49:57 +0200 Subject: [PATCH] feat(ai): add GPT-5.6 Codex models --- packages/ai/scripts/generate-models.ts | 36 + packages/ai/src/models.generated.ts | 3594 +++++++++++++++++------- 2 files changed, 2650 insertions(+), 980 deletions(-) diff --git a/packages/ai/scripts/generate-models.ts b/packages/ai/scripts/generate-models.ts index ebbfb1cb2..291f9c913 100644 --- a/packages/ai/scripts/generate-models.ts +++ b/packages/ai/scripts/generate-models.ts @@ -1064,6 +1064,42 @@ async function generateModels() { contextWindow: 128000, maxTokens: CODEX_MAX_TOKENS, }, + { + id: "gpt-5.6-sol", + name: "GPT-5.6 Sol", + api: "openai-codex-responses", + provider: "openai-codex", + baseUrl: CODEX_BASE_URL, + reasoning: true, + input: ["text", "image"], + cost: { input: 5, output: 30, cacheRead: 0.5, cacheWrite: 0 }, + contextWindow: 1050000, + maxTokens: CODEX_MAX_TOKENS, + }, + { + id: "gpt-5.6-terra", + name: "GPT-5.6 Terra", + api: "openai-codex-responses", + provider: "openai-codex", + baseUrl: CODEX_BASE_URL, + reasoning: true, + input: ["text", "image"], + cost: { input: 2.5, output: 15, cacheRead: 0.25, cacheWrite: 0 }, + contextWindow: 1050000, + maxTokens: CODEX_MAX_TOKENS, + }, + { + id: "gpt-5.6-luna", + name: "GPT-5.6 Luna", + api: "openai-codex-responses", + provider: "openai-codex", + baseUrl: CODEX_BASE_URL, + reasoning: true, + input: ["text", "image"], + cost: { input: 1, output: 6, cacheRead: 0.1, cacheWrite: 0 }, + contextWindow: 1050000, + maxTokens: CODEX_MAX_TOKENS, + }, ]; allModels.push(...codexModels); diff --git a/packages/ai/src/models.generated.ts b/packages/ai/src/models.generated.ts index 310bd19b2..c3e59f86e 100644 --- a/packages/ai/src/models.generated.ts +++ b/packages/ai/src/models.generated.ts @@ -73,6 +73,23 @@ export const MODELS = { contextWindow: 300000, maxTokens: 8192, } satisfies Model<"bedrock-converse-stream">, + "anthropic.claude-fable-5": { + id: "anthropic.claude-fable-5", + name: "Claude Fable 5", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 10, + output: 50, + cacheRead: 1, + cacheWrite: 12.5, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"bedrock-converse-stream">, "anthropic.claude-haiku-4-5-20251001-v1:0": { id: "anthropic.claude-haiku-4-5-20251001-v1:0", name: "Claude Haiku 4.5", @@ -209,6 +226,23 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 64000, } satisfies Model<"bedrock-converse-stream">, + "anthropic.claude-sonnet-5": { + id: "anthropic.claude-sonnet-5", + name: "Claude Sonnet 5", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 10, + cacheRead: 0.2, + cacheWrite: 2.5, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"bedrock-converse-stream">, "au.anthropic.claude-haiku-4-5-20251001-v1:0": { id: "au.anthropic.claude-haiku-4-5-20251001-v1:0", name: "Claude Haiku 4.5 (AU)", @@ -294,6 +328,23 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 128000, } satisfies Model<"bedrock-converse-stream">, + "au.anthropic.claude-sonnet-5": { + id: "au.anthropic.claude-sonnet-5", + name: "Claude Sonnet 5 (AU)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 10, + cacheRead: 0.2, + cacheWrite: 2.5, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"bedrock-converse-stream">, "deepseek.r1-v1:0": { id: "deepseek.r1-v1:0", name: "DeepSeek-R1", @@ -371,10 +422,10 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 1, - output: 5, - cacheRead: 0.1, - cacheWrite: 1.25, + input: 1.1, + output: 5.5, + cacheRead: 0.11, + cacheWrite: 1.375, }, contextWindow: 200000, maxTokens: 64000, @@ -388,10 +439,10 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 5, - output: 25, - cacheRead: 0.5, - cacheWrite: 6.25, + input: 5.5, + output: 27.5, + cacheRead: 0.55, + cacheWrite: 6.875, }, contextWindow: 200000, maxTokens: 64000, @@ -481,6 +532,23 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 64000, } satisfies Model<"bedrock-converse-stream">, + "eu.anthropic.claude-sonnet-5": { + id: "eu.anthropic.claude-sonnet-5", + name: "Claude Sonnet 5 (EU)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2.2, + output: 11, + cacheRead: 0.22, + cacheWrite: 2.75, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"bedrock-converse-stream">, "global.anthropic.claude-fable-5": { id: "global.anthropic.claude-fable-5", name: "Claude Fable 5 (Global)", @@ -617,6 +685,23 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 64000, } satisfies Model<"bedrock-converse-stream">, + "global.anthropic.claude-sonnet-5": { + id: "global.anthropic.claude-sonnet-5", + name: "Claude Sonnet 5 (Global)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 10, + cacheRead: 0.2, + cacheWrite: 2.5, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"bedrock-converse-stream">, "google.gemma-3-27b-it": { id: "google.gemma-3-27b-it", name: "Google Gemma 3 27B Instruct", @@ -651,6 +736,23 @@ export const MODELS = { contextWindow: 128000, maxTokens: 4096, } satisfies Model<"bedrock-converse-stream">, + "jp.anthropic.claude-haiku-4-5-20251001-v1:0": { + id: "jp.anthropic.claude-haiku-4-5-20251001-v1:0", + name: "Claude Haiku 4.5 (JP)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1, + output: 5, + cacheRead: 0.1, + cacheWrite: 1.25, + }, + contextWindow: 200000, + maxTokens: 64000, + } satisfies Model<"bedrock-converse-stream">, "jp.anthropic.claude-opus-4-7": { id: "jp.anthropic.claude-opus-4-7", name: "Claude Opus 4.7 (JP)", @@ -719,6 +821,23 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 64000, } satisfies Model<"bedrock-converse-stream">, + "jp.anthropic.claude-sonnet-5": { + id: "jp.anthropic.claude-sonnet-5", + name: "Claude Sonnet 5 (JP)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 10, + cacheRead: 0.2, + cacheWrite: 2.5, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"bedrock-converse-stream">, "meta.llama3-1-70b-instruct-v1:0": { id: "meta.llama3-1-70b-instruct-v1:0", name: "Llama 3.1 70B Instruct", @@ -1144,6 +1263,57 @@ export const MODELS = { contextWindow: 272000, maxTokens: 128000, } satisfies Model<"bedrock-converse-stream">, + "openai.gpt-5.6-luna": { + id: "openai.gpt-5.6-luna", + name: "GPT-5.6 Luna", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1, + output: 6, + cacheRead: 0.1, + cacheWrite: 1.25, + }, + contextWindow: 272000, + maxTokens: 128000, + } satisfies Model<"bedrock-converse-stream">, + "openai.gpt-5.6-sol": { + id: "openai.gpt-5.6-sol", + name: "GPT-5.6 Sol", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 5, + output: 30, + cacheRead: 0.5, + cacheWrite: 6.25, + }, + contextWindow: 272000, + maxTokens: 128000, + } satisfies Model<"bedrock-converse-stream">, + "openai.gpt-5.6-terra": { + id: "openai.gpt-5.6-terra", + name: "GPT-5.6 Terra", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2.5, + output: 15, + cacheRead: 0.25, + cacheWrite: 3.125, + }, + contextWindow: 272000, + maxTokens: 128000, + } satisfies Model<"bedrock-converse-stream">, "openai.gpt-oss-120b": { id: "openai.gpt-oss-120b", name: "gpt-oss-120b", @@ -1518,6 +1688,23 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 64000, } satisfies Model<"bedrock-converse-stream">, + "us.anthropic.claude-sonnet-5": { + id: "us.anthropic.claude-sonnet-5", + name: "Claude Sonnet 5 (US)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 10, + cacheRead: 0.2, + cacheWrite: 2.5, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"bedrock-converse-stream">, "us.deepseek.r1-v1:0": { id: "us.deepseek.r1-v1:0", name: "DeepSeek-R1 (US)", @@ -1603,6 +1790,23 @@ export const MODELS = { contextWindow: 1040000, maxTokens: 8192, } satisfies Model<"bedrock-converse-stream">, + "xai.grok-4.3": { + id: "xai.grok-4.3", + name: "Grok 4.3", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1.25, + output: 2.5, + cacheRead: 0.2, + cacheWrite: 0, + }, + contextWindow: 1000000, + maxTokens: 131072, + } satisfies Model<"bedrock-converse-stream">, "zai.glm-4.7": { id: "zai.glm-4.7", name: "GLM-4.7", @@ -1656,268 +1860,98 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, }, "anthropic": { - "claude-3-5-haiku-20241022": { - id: "claude-3-5-haiku-20241022", - name: "Claude Haiku 3.5", + "claude-fable-5": { + id: "claude-fable-5", + name: "Claude Fable 5", api: "anthropic-messages", provider: "anthropic", baseUrl: "https://api.anthropic.com", - reasoning: false, + reasoning: true, input: ["text", "image"], cost: { - input: 0.8, - output: 4, - cacheRead: 0.08, - cacheWrite: 1, + input: 10, + output: 50, + cacheRead: 1, + cacheWrite: 12.5, }, - contextWindow: 200000, - maxTokens: 8192, + contextWindow: 1000000, + maxTokens: 128000, } satisfies Model<"anthropic-messages">, - "claude-3-5-haiku-latest": { - id: "claude-3-5-haiku-latest", - name: "Claude Haiku 3.5 (latest)", + "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: false, + reasoning: true, input: ["text", "image"], cost: { - input: 0.8, - output: 4, - cacheRead: 0.08, - cacheWrite: 1, + input: 1, + output: 5, + cacheRead: 0.1, + cacheWrite: 1.25, }, contextWindow: 200000, - maxTokens: 8192, + maxTokens: 64000, } satisfies Model<"anthropic-messages">, - "claude-3-5-sonnet-20240620": { - id: "claude-3-5-sonnet-20240620", - name: "Claude Sonnet 3.5", + "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: false, + reasoning: true, input: ["text", "image"], cost: { - input: 3, - output: 15, - cacheRead: 0.3, - cacheWrite: 3.75, + input: 1, + output: 5, + cacheRead: 0.1, + cacheWrite: 1.25, }, contextWindow: 200000, - maxTokens: 8192, + maxTokens: 64000, } satisfies Model<"anthropic-messages">, - "claude-3-5-sonnet-20241022": { - id: "claude-3-5-sonnet-20241022", - name: "Claude Sonnet 3.5 v2", + "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: false, + reasoning: true, input: ["text", "image"], cost: { - input: 3, - output: 15, - cacheRead: 0.3, - cacheWrite: 3.75, + input: 15, + output: 75, + cacheRead: 1.5, + cacheWrite: 18.75, }, contextWindow: 200000, - maxTokens: 8192, + maxTokens: 32000, } satisfies Model<"anthropic-messages">, - "claude-3-7-sonnet-20250219": { - id: "claude-3-7-sonnet-20250219", - name: "Claude Sonnet 3.7", + "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: 3, - output: 15, - cacheRead: 0.3, - cacheWrite: 3.75, + input: 15, + output: 75, + cacheRead: 1.5, + cacheWrite: 18.75, }, contextWindow: 200000, - maxTokens: 64000, + maxTokens: 32000, } satisfies Model<"anthropic-messages">, - "claude-3-haiku-20240307": { - id: "claude-3-haiku-20240307", - name: "Claude Haiku 3", + "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: 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-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-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-fable-5": { - id: "claude-fable-5", - name: "Claude Fable 5", - api: "anthropic-messages", - provider: "anthropic", - baseUrl: "https://api.anthropic.com", - reasoning: true, - input: ["text", "image"], - cost: { - input: 10, - output: 50, - cacheRead: 1, - cacheWrite: 12.5, - }, - contextWindow: 1000000, - maxTokens: 128000, - } 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-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">, - "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-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-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-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-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, + reasoning: true, input: ["text", "image"], cost: { input: 5, @@ -1996,40 +2030,6 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 128000, } 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-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-sonnet-4-5": { id: "claude-sonnet-4-5", name: "Claude Sonnet 4.5 (latest)", @@ -2044,7 +2044,7 @@ export const MODELS = { cacheRead: 0.3, cacheWrite: 3.75, }, - contextWindow: 200000, + contextWindow: 1000000, maxTokens: 64000, } satisfies Model<"anthropic-messages">, "claude-sonnet-4-5-20250929": { @@ -2061,7 +2061,7 @@ export const MODELS = { cacheRead: 0.3, cacheWrite: 3.75, }, - contextWindow: 200000, + contextWindow: 1000000, maxTokens: 64000, } satisfies Model<"anthropic-messages">, "claude-sonnet-4-6": { @@ -2079,7 +2079,24 @@ export const MODELS = { cacheWrite: 3.75, }, contextWindow: 1000000, - maxTokens: 64000, + maxTokens: 128000, + } satisfies Model<"anthropic-messages">, + "claude-sonnet-5": { + id: "claude-sonnet-5", + name: "Claude Sonnet 5", + api: "anthropic-messages", + provider: "anthropic", + baseUrl: "https://api.anthropic.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 10, + cacheRead: 0.2, + cacheWrite: 2.5, + }, + contextWindow: 1000000, + maxTokens: 128000, } satisfies Model<"anthropic-messages">, }, "azure-openai-responses": { @@ -2661,71 +2678,156 @@ export const MODELS = { contextWindow: 1050000, maxTokens: 128000, } satisfies Model<"azure-openai-responses">, - "o1": { - id: "o1", - name: "o1", + "gpt-5.6": { + id: "gpt-5.6", + name: "GPT-5.6", api: "azure-openai-responses", provider: "azure-openai-responses", baseUrl: "", reasoning: true, input: ["text", "image"], cost: { - input: 15, - output: 60, - cacheRead: 7.5, - cacheWrite: 0, + input: 5, + output: 30, + cacheRead: 0.5, + cacheWrite: 6.25, }, - contextWindow: 200000, - maxTokens: 100000, + contextWindow: 1050000, + maxTokens: 128000, } satisfies Model<"azure-openai-responses">, - "o1-pro": { - id: "o1-pro", - name: "o1-pro", + "gpt-5.6-luna": { + id: "gpt-5.6-luna", + name: "GPT-5.6 Luna", api: "azure-openai-responses", provider: "azure-openai-responses", baseUrl: "", reasoning: true, input: ["text", "image"], cost: { - input: 150, - output: 600, - cacheRead: 0, - cacheWrite: 0, + input: 1, + output: 6, + cacheRead: 0.1, + cacheWrite: 1.25, }, - contextWindow: 200000, - maxTokens: 100000, + contextWindow: 1050000, + maxTokens: 128000, } satisfies Model<"azure-openai-responses">, - "o3": { - id: "o3", - name: "o3", + "gpt-5.6-sol": { + id: "gpt-5.6-sol", + name: "GPT-5.6 Sol", api: "azure-openai-responses", provider: "azure-openai-responses", baseUrl: "", reasoning: true, input: ["text", "image"], cost: { - input: 2, - output: 8, + input: 5, + output: 30, cacheRead: 0.5, - cacheWrite: 0, + cacheWrite: 6.25, }, - contextWindow: 200000, - maxTokens: 100000, + contextWindow: 1050000, + maxTokens: 128000, } satisfies Model<"azure-openai-responses">, - "o3-deep-research": { - id: "o3-deep-research", - name: "o3-deep-research", + "gpt-5.6-terra": { + id: "gpt-5.6-terra", + name: "GPT-5.6 Terra", api: "azure-openai-responses", provider: "azure-openai-responses", baseUrl: "", reasoning: true, input: ["text", "image"], cost: { - input: 10, - output: 40, - cacheRead: 2.5, - cacheWrite: 0, - }, + input: 2.5, + output: 15, + cacheRead: 0.25, + cacheWrite: 3.125, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"azure-openai-responses">, + "gpt-realtime-2.1": { + id: "gpt-realtime-2.1", + name: "GPT-Realtime-2.1", + api: "azure-openai-responses", + provider: "azure-openai-responses", + baseUrl: "", + reasoning: true, + input: ["text", "image"], + cost: { + input: 4, + output: 24, + cacheRead: 0.4, + cacheWrite: 0, + }, + contextWindow: 128000, + maxTokens: 32000, + } satisfies Model<"azure-openai-responses">, + "o1": { + id: "o1", + name: "o1", + api: "azure-openai-responses", + provider: "azure-openai-responses", + baseUrl: "", + reasoning: true, + input: ["text", "image"], + cost: { + input: 15, + output: 60, + cacheRead: 7.5, + cacheWrite: 0, + }, + contextWindow: 200000, + maxTokens: 100000, + } satisfies Model<"azure-openai-responses">, + "o1-pro": { + id: "o1-pro", + name: "o1-pro", + api: "azure-openai-responses", + provider: "azure-openai-responses", + baseUrl: "", + reasoning: true, + input: ["text", "image"], + cost: { + input: 150, + output: 600, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 200000, + maxTokens: 100000, + } satisfies Model<"azure-openai-responses">, + "o3": { + id: "o3", + name: "o3", + api: "azure-openai-responses", + provider: "azure-openai-responses", + baseUrl: "", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 8, + cacheRead: 0.5, + cacheWrite: 0, + }, + contextWindow: 200000, + maxTokens: 100000, + } satisfies Model<"azure-openai-responses">, + "o3-deep-research": { + id: "o3-deep-research", + name: "o3-deep-research", + api: "azure-openai-responses", + provider: "azure-openai-responses", + baseUrl: "", + reasoning: true, + input: ["text", "image"], + cost: { + input: 10, + output: 40, + cacheRead: 2.5, + cacheWrite: 0, + }, contextWindow: 200000, maxTokens: 100000, } satisfies Model<"azure-openai-responses">, @@ -2799,6 +2901,23 @@ export const MODELS = { } satisfies Model<"azure-openai-responses">, }, "cerebras": { + "gemma-4-31b": { + id: "gemma-4-31b", + name: "Gemma 4 31B IT", + api: "openai-completions", + provider: "cerebras", + baseUrl: "https://api.cerebras.ai/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.99, + output: 1.49, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 40960, + } satisfies Model<"openai-completions">, "gpt-oss-120b": { id: "gpt-oss-120b", name: "GPT OSS 120B", @@ -2827,7 +2946,7 @@ export const MODELS = { cost: { input: 2.25, output: 2.75, - cacheRead: 0, + cacheRead: 2.25, cacheWrite: 0, }, contextWindow: 131072, @@ -2998,6 +3117,25 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 32000, } satisfies Model<"anthropic-messages">, + "claude-sonnet-5": { + id: "claude-sonnet-5", + name: "Claude Sonnet 5", + api: "openai-completions", + provider: "github-copilot", + baseUrl: "https://api.individual.githubcopilot.com", + headers: {"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"}, + compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 10, + cacheRead: 0.2, + cacheWrite: 2.5, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"openai-completions">, "gemini-2.5-pro": { id: "gemini-2.5-pro", name: "Gemini 2.5 Pro", @@ -3052,7 +3190,7 @@ export const MODELS = { cacheRead: 0.2, cacheWrite: 0, }, - contextWindow: 200000, + contextWindow: 1000000, maxTokens: 64000, } satisfies Model<"openai-completions">, "gemini-3.5-flash": { @@ -3180,7 +3318,7 @@ export const MODELS = { cacheRead: 0.25, cacheWrite: 0, }, - contextWindow: 400000, + contextWindow: 1050000, maxTokens: 128000, } satisfies Model<"openai-responses">, "gpt-5.4-mini": { @@ -3234,9 +3372,101 @@ export const MODELS = { cacheRead: 0.5, cacheWrite: 0, }, - contextWindow: 400000, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-responses">, + "gpt-5.6-luna": { + id: "gpt-5.6-luna", + name: "GPT-5.6 Luna", + api: "openai-responses", + provider: "github-copilot", + baseUrl: "https://api.individual.githubcopilot.com", + headers: {"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 1, + output: 6, + cacheRead: 0.1, + cacheWrite: 1.25, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-responses">, + "gpt-5.6-sol": { + id: "gpt-5.6-sol", + name: "GPT-5.6 Sol", + api: "openai-responses", + provider: "github-copilot", + baseUrl: "https://api.individual.githubcopilot.com", + headers: {"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 5, + output: 30, + cacheRead: 0.5, + cacheWrite: 6.25, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-responses">, + "gpt-5.6-terra": { + id: "gpt-5.6-terra", + name: "GPT-5.6 Terra", + api: "openai-responses", + provider: "github-copilot", + baseUrl: "https://api.individual.githubcopilot.com", + headers: {"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 2.5, + output: 15, + cacheRead: 0.25, + cacheWrite: 3.125, + }, + contextWindow: 1050000, maxTokens: 128000, } satisfies Model<"openai-responses">, + "kimi-k2.7-code": { + id: "kimi-k2.7-code", + name: "Kimi K2.7 Code", + api: "openai-completions", + provider: "github-copilot", + baseUrl: "https://api.individual.githubcopilot.com", + headers: {"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"}, + compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.95, + output: 4, + cacheRead: 0.19, + cacheWrite: 0, + }, + contextWindow: 256000, + maxTokens: 32000, + } satisfies Model<"openai-completions">, + "mai-code-1-flash-picker": { + id: "mai-code-1-flash-picker", + name: "MAI-Code-1-Flash", + api: "openai-completions", + provider: "github-copilot", + baseUrl: "https://api.individual.githubcopilot.com", + headers: {"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"}, + compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}, + reasoning: true, + input: ["text"], + cost: { + input: 0.75, + output: 4.5, + cacheRead: 0.075, + cacheWrite: 0, + }, + contextWindow: 256000, + maxTokens: 128000, + } satisfies Model<"openai-completions">, }, "google": { "gemini-2.0-flash": { @@ -3452,9 +3682,9 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.3, - output: 2.5, - cacheRead: 0.075, + input: 1.5, + output: 9, + cacheRead: 0.15, cacheWrite: 0, }, contextWindow: 1048576, @@ -3469,8 +3699,8 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.1, - output: 0.4, + input: 0.25, + output: 1.5, cacheRead: 0.025, cacheWrite: 0, }, @@ -4091,7 +4321,7 @@ export const MODELS = { cost: { input: 0.075, output: 0.3, - cacheRead: 0.037, + cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, @@ -4116,6 +4346,24 @@ export const MODELS = { } satisfies Model<"openai-completions">, }, "huggingface": { + "MiniMaxAI/MiniMax-M2": { + id: "MiniMaxAI/MiniMax-M2", + name: "MiniMax-M2", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text"], + cost: { + input: 0.3, + output: 1.2, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 204800, + maxTokens: 128000, + } satisfies Model<"openai-completions">, "MiniMaxAI/MiniMax-M2.1": { id: "MiniMaxAI/MiniMax-M2.1", name: "MiniMax-M2.1", @@ -4170,50 +4418,122 @@ export const MODELS = { contextWindow: 204800, maxTokens: 131072, } satisfies Model<"openai-completions">, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - id: "Qwen/Qwen3-235B-A22B-Thinking-2507", - name: "Qwen3-235B-A22B-Thinking-2507", + "MiniMaxAI/MiniMax-M3": { + id: "MiniMaxAI/MiniMax-M3", + name: "MiniMax-M3", api: "openai-completions", provider: "huggingface", baseUrl: "https://router.huggingface.co/v1", compat: {"supportsDeveloperRole":false}, reasoning: true, - input: ["text"], + input: ["text", "image"], cost: { input: 0.3, - output: 3, + output: 1.2, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 262144, - maxTokens: 131072, + contextWindow: 524288, + maxTokens: 128000, } satisfies Model<"openai-completions">, - "Qwen/Qwen3-Coder-480B-A35B-Instruct": { - id: "Qwen/Qwen3-Coder-480B-A35B-Instruct", - name: "Qwen3-Coder-480B-A35B-Instruct", + "Qwen/Qwen3-235B-A22B": { + id: "Qwen/Qwen3-235B-A22B", + name: "Qwen3 235B-A22B", api: "openai-completions", provider: "huggingface", baseUrl: "https://router.huggingface.co/v1", compat: {"supportsDeveloperRole":false}, - reasoning: false, + reasoning: true, input: ["text"], cost: { - input: 2, - output: 2, + input: 0.2, + output: 0.8, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 262144, - maxTokens: 66536, + contextWindow: 40960, + maxTokens: 16384, } satisfies Model<"openai-completions">, - "Qwen/Qwen3-Coder-Next": { - id: "Qwen/Qwen3-Coder-Next", - name: "Qwen3-Coder-Next", + "Qwen/Qwen3-235B-A22B-Thinking-2507": { + id: "Qwen/Qwen3-235B-A22B-Thinking-2507", + name: "Qwen3-235B-A22B-Thinking-2507", api: "openai-completions", provider: "huggingface", baseUrl: "https://router.huggingface.co/v1", compat: {"supportsDeveloperRole":false}, - reasoning: false, + reasoning: true, + input: ["text"], + cost: { + input: 0.3, + output: 3, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 131072, + } satisfies Model<"openai-completions">, + "Qwen/Qwen3-32B": { + id: "Qwen/Qwen3-32B", + name: "Qwen3 32B", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text"], + cost: { + input: 0.29, + output: 0.59, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 16384, + } satisfies Model<"openai-completions">, + "Qwen/Qwen3-Coder-30B-A3B-Instruct": { + id: "Qwen/Qwen3-Coder-30B-A3B-Instruct", + name: "Qwen3-Coder 30B-A3B Instruct", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: false, + input: ["text"], + cost: { + input: 0.07, + output: 0.26, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 65536, + } satisfies Model<"openai-completions">, + "Qwen/Qwen3-Coder-480B-A35B-Instruct": { + id: "Qwen/Qwen3-Coder-480B-A35B-Instruct", + name: "Qwen3-Coder-480B-A35B-Instruct", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: false, + input: ["text"], + cost: { + input: 2, + output: 2, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 66536, + } satisfies Model<"openai-completions">, + "Qwen/Qwen3-Coder-Next": { + id: "Qwen/Qwen3-Coder-Next", + name: "Qwen3-Coder-Next", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: false, input: ["text"], cost: { input: 0.2, @@ -4258,11 +4578,389 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 131072, + maxTokens: 131072, + } satisfies Model<"openai-completions">, + "Qwen/Qwen3.5-122B-A10B": { + id: "Qwen/Qwen3.5-122B-A10B", + name: "Qwen3.5 122B-A10B", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.4, + output: 3.2, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 65536, + } satisfies Model<"openai-completions">, + "Qwen/Qwen3.5-27B": { + id: "Qwen/Qwen3.5-27B", + name: "Qwen3.5 27B", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.3, + output: 2.4, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 65536, + } satisfies Model<"openai-completions">, + "Qwen/Qwen3.5-35B-A3B": { + id: "Qwen/Qwen3.5-35B-A3B", + name: "Qwen3.5 35B-A3B", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.25, + output: 2, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 65536, + } satisfies Model<"openai-completions">, + "Qwen/Qwen3.5-397B-A17B": { + id: "Qwen/Qwen3.5-397B-A17B", + name: "Qwen3.5-397B-A17B", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.6, + output: 3.6, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 32768, + } satisfies Model<"openai-completions">, + "Qwen/Qwen3.5-9B": { + id: "Qwen/Qwen3.5-9B", + name: "Qwen3.5 9B", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.17, + output: 0.25, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 65536, + } satisfies Model<"openai-completions">, + "Qwen/Qwen3.6-27B": { + id: "Qwen/Qwen3.6-27B", + name: "Qwen3.6 27B", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.47, + output: 3.19, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 65536, + } satisfies Model<"openai-completions">, + "Qwen/Qwen3.6-35B-A3B": { + id: "Qwen/Qwen3.6-35B-A3B", + name: "Qwen3.6 35B-A3B", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.15, + output: 0.95, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 65536, + } satisfies Model<"openai-completions">, + "XiaomiMiMo/MiMo-V2-Flash": { + id: "XiaomiMiMo/MiMo-V2-Flash", + name: "MiMo-V2-Flash", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text"], + cost: { + input: 0.1, + output: 0.3, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 4096, + } satisfies Model<"openai-completions">, + "XiaomiMiMo/MiMo-V2.5-Pro": { + id: "XiaomiMiMo/MiMo-V2.5-Pro", + name: "MiMo-V2.5-Pro", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text"], + cost: { + input: 1, + output: 3, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 1048576, + maxTokens: 131072, + } satisfies Model<"openai-completions">, + "deepseek-ai/DeepSeek-R1": { + id: "deepseek-ai/DeepSeek-R1", + name: "DeepSeek-R1", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text"], + cost: { + input: 0.7, + output: 2.5, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 64000, + maxTokens: 32768, + } satisfies Model<"openai-completions">, + "deepseek-ai/DeepSeek-R1-0528": { + id: "deepseek-ai/DeepSeek-R1-0528", + name: "DeepSeek-R1-0528", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text"], + cost: { + input: 3, + output: 5, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 163840, + maxTokens: 163840, + } satisfies Model<"openai-completions">, + "deepseek-ai/DeepSeek-V3.2": { + id: "deepseek-ai/DeepSeek-V3.2", + name: "DeepSeek-V3.2", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text"], + cost: { + input: 0.28, + output: 0.4, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 163840, + maxTokens: 65536, + } satisfies Model<"openai-completions">, + "deepseek-ai/DeepSeek-V4-Flash": { + id: "deepseek-ai/DeepSeek-V4-Flash", + name: "DeepSeek V4 Flash", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text"], + cost: { + input: 0.14, + output: 0.28, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 1048576, + maxTokens: 384000, + } satisfies Model<"openai-completions">, + "deepseek-ai/DeepSeek-V4-Pro": { + id: "deepseek-ai/DeepSeek-V4-Pro", + name: "DeepSeek V4 Pro", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text"], + cost: { + input: 0.435, + output: 0.87, + cacheRead: 0.003625, + cacheWrite: 0, + }, + contextWindow: 1048576, + maxTokens: 393216, + } satisfies Model<"openai-completions">, + "google/gemma-4-26B-A4B-it": { + id: "google/gemma-4-26B-A4B-it", + name: "Gemma 4 26B A4B IT", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.13, + output: 0.4, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 32768, + } satisfies Model<"openai-completions">, + "google/gemma-4-31B-it": { + id: "google/gemma-4-31B-it", + name: "Gemma 4 31B IT", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.14, + output: 0.4, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 32768, + } satisfies Model<"openai-completions">, + "meta-llama/Llama-3.3-70B-Instruct": { + id: "meta-llama/Llama-3.3-70B-Instruct", + name: "Llama-3.3-70B-Instruct", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: false, + input: ["text"], + cost: { + input: 0.59, + output: 0.79, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 4096, + } satisfies Model<"openai-completions">, + "moonshotai/Kimi-K2-Instruct": { + id: "moonshotai/Kimi-K2-Instruct", + name: "Kimi-K2-Instruct", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: false, + input: ["text"], + cost: { + input: 1, + output: 3, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 16384, + } satisfies Model<"openai-completions">, + "moonshotai/Kimi-K2-Instruct-0905": { + id: "moonshotai/Kimi-K2-Instruct-0905", + name: "Kimi-K2-Instruct-0905", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: false, + input: ["text"], + cost: { + input: 1, + output: 3, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 16384, + } satisfies Model<"openai-completions">, + "moonshotai/Kimi-K2-Thinking": { + id: "moonshotai/Kimi-K2-Thinking", + name: "Kimi-K2-Thinking", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text"], + cost: { + input: 0.6, + output: 2.5, + cacheRead: 0.15, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 262144, + } satisfies Model<"openai-completions">, + "moonshotai/Kimi-K2.5": { + id: "moonshotai/Kimi-K2.5", + name: "Kimi-K2.5", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.6, + output: 3, + cacheRead: 0.1, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 262144, } satisfies Model<"openai-completions">, - "Qwen/Qwen3.5-397B-A17B": { - id: "Qwen/Qwen3.5-397B-A17B", - name: "Qwen3.5-397B-A17B", + "moonshotai/Kimi-K2.6": { + id: "moonshotai/Kimi-K2.6", + name: "Kimi-K2.6", api: "openai-completions", provider: "huggingface", baseUrl: "https://router.huggingface.co/v1", @@ -4270,35 +4968,35 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.6, - output: 3.6, - cacheRead: 0, + input: 0.95, + output: 4, + cacheRead: 0.16, cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 32768, + maxTokens: 262144, } satisfies Model<"openai-completions">, - "XiaomiMiMo/MiMo-V2-Flash": { - id: "XiaomiMiMo/MiMo-V2-Flash", - name: "MiMo-V2-Flash", + "moonshotai/Kimi-K2.7-Code": { + id: "moonshotai/Kimi-K2.7-Code", + name: "Kimi K2.7 Code", api: "openai-completions", provider: "huggingface", baseUrl: "https://router.huggingface.co/v1", compat: {"supportsDeveloperRole":false}, reasoning: true, - input: ["text"], + input: ["text", "image"], cost: { - input: 0.1, - output: 0.3, + input: 0.95, + output: 4, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 4096, + maxTokens: 262144, } satisfies Model<"openai-completions">, - "deepseek-ai/DeepSeek-R1-0528": { - id: "deepseek-ai/DeepSeek-R1-0528", - name: "DeepSeek-R1-0528", + "openai/gpt-oss-120b": { + id: "openai/gpt-oss-120b", + name: "GPT OSS 120B", api: "openai-completions", provider: "huggingface", baseUrl: "https://router.huggingface.co/v1", @@ -4306,17 +5004,17 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 3, - output: 5, + input: 0.25, + output: 0.69, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 163840, - maxTokens: 163840, + contextWindow: 131072, + maxTokens: 32768, } satisfies Model<"openai-completions">, - "deepseek-ai/DeepSeek-V3.2": { - id: "deepseek-ai/DeepSeek-V3.2", - name: "DeepSeek-V3.2", + "openai/gpt-oss-20b": { + id: "openai/gpt-oss-20b", + name: "GPT OSS 20B", api: "openai-completions", provider: "huggingface", baseUrl: "https://router.huggingface.co/v1", @@ -4324,17 +5022,17 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.28, - output: 0.4, + input: 0.1, + output: 0.5, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 163840, - maxTokens: 65536, + contextWindow: 131072, + maxTokens: 32768, } satisfies Model<"openai-completions">, - "deepseek-ai/DeepSeek-V4-Pro": { - id: "deepseek-ai/DeepSeek-V4-Pro", - name: "DeepSeek V4 Pro", + "stepfun-ai/Step-3.5-Flash": { + id: "stepfun-ai/Step-3.5-Flash", + name: "Step 3.5 Flash", api: "openai-completions", provider: "huggingface", baseUrl: "https://router.huggingface.co/v1", @@ -4342,53 +5040,53 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.435, - output: 0.87, - cacheRead: 0.003625, + input: 0.1, + output: 0.3, + cacheRead: 0, cacheWrite: 0, }, - contextWindow: 1048576, - maxTokens: 393216, + contextWindow: 262144, + maxTokens: 256000, } satisfies Model<"openai-completions">, - "moonshotai/Kimi-K2-Instruct": { - id: "moonshotai/Kimi-K2-Instruct", - name: "Kimi-K2-Instruct", + "stepfun-ai/Step-3.7-Flash": { + id: "stepfun-ai/Step-3.7-Flash", + name: "Step 3.7 Flash", api: "openai-completions", provider: "huggingface", baseUrl: "https://router.huggingface.co/v1", compat: {"supportsDeveloperRole":false}, - reasoning: false, - input: ["text"], + reasoning: true, + input: ["text", "image"], cost: { - input: 1, - output: 3, + input: 0.2, + output: 1.15, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 131072, - maxTokens: 16384, + contextWindow: 262144, + maxTokens: 256000, } satisfies Model<"openai-completions">, - "moonshotai/Kimi-K2-Instruct-0905": { - id: "moonshotai/Kimi-K2-Instruct-0905", - name: "Kimi-K2-Instruct-0905", + "zai-org/GLM-4.5": { + id: "zai-org/GLM-4.5", + name: "GLM-4.5", api: "openai-completions", provider: "huggingface", baseUrl: "https://router.huggingface.co/v1", compat: {"supportsDeveloperRole":false}, - reasoning: false, + reasoning: true, input: ["text"], cost: { - input: 1, - output: 3, + input: 0.6, + output: 2.2, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 262144, - maxTokens: 16384, + contextWindow: 131072, + maxTokens: 98304, } satisfies Model<"openai-completions">, - "moonshotai/Kimi-K2-Thinking": { - id: "moonshotai/Kimi-K2-Thinking", - name: "Kimi-K2-Thinking", + "zai-org/GLM-4.5-Air": { + id: "zai-org/GLM-4.5-Air", + name: "GLM-4.5-Air", api: "openai-completions", provider: "huggingface", baseUrl: "https://router.huggingface.co/v1", @@ -4396,17 +5094,17 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.6, - output: 2.5, - cacheRead: 0.15, + input: 0.13, + output: 0.85, + cacheRead: 0, cacheWrite: 0, }, - contextWindow: 262144, - maxTokens: 262144, + contextWindow: 131072, + maxTokens: 98304, } satisfies Model<"openai-completions">, - "moonshotai/Kimi-K2.5": { - id: "moonshotai/Kimi-K2.5", - name: "Kimi-K2.5", + "zai-org/GLM-4.5V": { + id: "zai-org/GLM-4.5V", + name: "GLM-4.5V", api: "openai-completions", provider: "huggingface", baseUrl: "https://router.huggingface.co/v1", @@ -4415,30 +5113,30 @@ export const MODELS = { input: ["text", "image"], cost: { input: 0.6, - output: 3, - cacheRead: 0.1, + output: 1.8, + cacheRead: 0, cacheWrite: 0, }, - contextWindow: 262144, - maxTokens: 262144, + contextWindow: 65536, + maxTokens: 16384, } satisfies Model<"openai-completions">, - "moonshotai/Kimi-K2.6": { - id: "moonshotai/Kimi-K2.6", - name: "Kimi-K2.6", + "zai-org/GLM-4.6": { + id: "zai-org/GLM-4.6", + name: "GLM-4.6", api: "openai-completions", provider: "huggingface", baseUrl: "https://router.huggingface.co/v1", compat: {"supportsDeveloperRole":false}, reasoning: true, - input: ["text", "image"], + input: ["text"], cost: { - input: 0.95, - output: 4, - cacheRead: 0.16, + input: 0.55, + output: 2.2, + cacheRead: 0, cacheWrite: 0, }, - contextWindow: 262144, - maxTokens: 262144, + contextWindow: 204800, + maxTokens: 131072, } satisfies Model<"openai-completions">, "zai-org/GLM-4.7": { id: "zai-org/GLM-4.7", @@ -4512,6 +5210,24 @@ export const MODELS = { contextWindow: 202752, maxTokens: 131072, } satisfies Model<"openai-completions">, + "zai-org/GLM-5.2": { + id: "zai-org/GLM-5.2", + name: "GLM-5.2", + api: "openai-completions", + provider: "huggingface", + baseUrl: "https://router.huggingface.co/v1", + compat: {"supportsDeveloperRole":false}, + reasoning: true, + input: ["text"], + cost: { + input: 1.4, + output: 4.4, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 131072, + } satisfies Model<"openai-completions">, }, "kimi-coding": { "k2p5": { @@ -4521,7 +5237,7 @@ export const MODELS = { provider: "kimi-coding", baseUrl: "https://api.kimi.com/coding", reasoning: true, - input: ["text", "image"], + input: ["text"], cost: { input: 0, output: 0, @@ -4531,9 +5247,9 @@ export const MODELS = { contextWindow: 262144, maxTokens: 32768, } satisfies Model<"anthropic-messages">, - "k2p6": { - id: "k2p6", - name: "Kimi K2.6", + "k2p7": { + id: "k2p7", + name: "Kimi K2.7 Code", api: "anthropic-messages", provider: "kimi-coding", baseUrl: "https://api.kimi.com/coding", @@ -4548,9 +5264,26 @@ export const MODELS = { contextWindow: 262144, maxTokens: 32768, } satisfies Model<"anthropic-messages">, - "k2p7": { - id: "k2p7", - name: "Kimi K2.7 Code", + "k3": { + id: "k3", + name: "Kimi K3", + api: "anthropic-messages", + provider: "kimi-coding", + baseUrl: "https://api.kimi.com/coding", + reasoning: true, + input: ["text", "image"], + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 1048576, + maxTokens: 131072, + } satisfies Model<"anthropic-messages">, + "kimi-for-coding-highspeed": { + id: "kimi-for-coding-highspeed", + name: "Kimi For Coding HighSpeed", api: "anthropic-messages", provider: "kimi-coding", baseUrl: "https://api.kimi.com/coding", @@ -4968,11 +5701,11 @@ export const MODELS = { api: "mistral-conversations", provider: "mistral", baseUrl: "https://api.mistral.ai", - reasoning: false, + reasoning: true, input: ["text", "image"], cost: { - input: 0.4, - output: 2, + input: 1.5, + output: 7.5, cacheRead: 0, cacheWrite: 0, }, @@ -5704,30 +6437,115 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 5, - output: 30, - cacheRead: 0.5, - cacheWrite: 0, + input: 5, + output: 30, + cacheRead: 0.5, + cacheWrite: 0, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-responses">, + "gpt-5.5-pro": { + id: "gpt-5.5-pro", + name: "GPT-5.5 Pro", + api: "openai-responses", + provider: "openai", + baseUrl: "https://api.openai.com/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 30, + output: 180, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-responses">, + "gpt-5.6": { + id: "gpt-5.6", + name: "GPT-5.6", + api: "openai-responses", + provider: "openai", + baseUrl: "https://api.openai.com/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 5, + output: 30, + cacheRead: 0.5, + cacheWrite: 6.25, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-responses">, + "gpt-5.6-luna": { + id: "gpt-5.6-luna", + name: "GPT-5.6 Luna", + api: "openai-responses", + provider: "openai", + baseUrl: "https://api.openai.com/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1, + output: 6, + cacheRead: 0.1, + cacheWrite: 1.25, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-responses">, + "gpt-5.6-sol": { + id: "gpt-5.6-sol", + name: "GPT-5.6 Sol", + api: "openai-responses", + provider: "openai", + baseUrl: "https://api.openai.com/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 5, + output: 30, + cacheRead: 0.5, + cacheWrite: 6.25, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-responses">, + "gpt-5.6-terra": { + id: "gpt-5.6-terra", + name: "GPT-5.6 Terra", + api: "openai-responses", + provider: "openai", + baseUrl: "https://api.openai.com/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2.5, + output: 15, + cacheRead: 0.25, + cacheWrite: 3.125, }, contextWindow: 1050000, maxTokens: 128000, } satisfies Model<"openai-responses">, - "gpt-5.5-pro": { - id: "gpt-5.5-pro", - name: "GPT-5.5 Pro", + "gpt-realtime-2.1": { + id: "gpt-realtime-2.1", + name: "GPT-Realtime-2.1", api: "openai-responses", provider: "openai", baseUrl: "https://api.openai.com/v1", reasoning: true, input: ["text", "image"], cost: { - input: 30, - output: 180, - cacheRead: 0, + input: 4, + output: 24, + cacheRead: 0.4, cacheWrite: 0, }, - contextWindow: 1050000, - maxTokens: 128000, + contextWindow: 128000, + maxTokens: 32000, } satisfies Model<"openai-responses">, "o1": { id: "o1", @@ -6037,6 +6855,57 @@ export const MODELS = { contextWindow: 1050000, maxTokens: 128000, } satisfies Model<"openai-codex-responses">, + "gpt-5.6-luna": { + id: "gpt-5.6-luna", + name: "GPT-5.6 Luna", + api: "openai-codex-responses", + provider: "openai-codex", + baseUrl: "https://chatgpt.com/backend-api", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1, + output: 6, + cacheRead: 0.1, + cacheWrite: 0, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-codex-responses">, + "gpt-5.6-sol": { + id: "gpt-5.6-sol", + name: "GPT-5.6 Sol", + api: "openai-codex-responses", + provider: "openai-codex", + baseUrl: "https://chatgpt.com/backend-api", + reasoning: true, + input: ["text", "image"], + cost: { + input: 5, + output: 30, + cacheRead: 0.5, + cacheWrite: 0, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-codex-responses">, + "gpt-5.6-terra": { + id: "gpt-5.6-terra", + name: "GPT-5.6 Terra", + api: "openai-codex-responses", + provider: "openai-codex", + baseUrl: "https://chatgpt.com/backend-api", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2.5, + output: 15, + cacheRead: 0.25, + cacheWrite: 0, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-codex-responses">, }, "opencode": { "big-pickle": { @@ -6056,6 +6925,23 @@ export const MODELS = { contextWindow: 200000, maxTokens: 32000, } satisfies Model<"openai-completions">, + "claude-fable-5": { + id: "claude-fable-5", + name: "Claude Fable 5", + api: "anthropic-messages", + provider: "opencode", + baseUrl: "https://opencode.ai/zen", + reasoning: true, + input: ["text", "image"], + cost: { + input: 10, + output: 50, + cacheRead: 1, + cacheWrite: 12.5, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"anthropic-messages">, "claude-haiku-4-5": { id: "claude-haiku-4-5", name: "Claude Haiku 4.5", @@ -6209,6 +7095,23 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 64000, } satisfies Model<"anthropic-messages">, + "claude-sonnet-5": { + id: "claude-sonnet-5", + name: "Claude Sonnet 5", + api: "anthropic-messages", + provider: "opencode", + baseUrl: "https://opencode.ai/zen", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 10, + cacheRead: 0.2, + cacheWrite: 2.5, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"anthropic-messages">, "deepseek-v4-flash": { id: "deepseek-v4-flash", name: "DeepSeek V4 Flash", @@ -6345,6 +7248,23 @@ export const MODELS = { contextWindow: 204800, maxTokens: 131072, } satisfies Model<"openai-completions">, + "glm-5.2": { + id: "glm-5.2", + name: "GLM-5.2", + api: "openai-completions", + provider: "opencode", + baseUrl: "https://opencode.ai/zen/v1", + reasoning: true, + input: ["text"], + cost: { + input: 1.4, + output: 4.4, + cacheRead: 0.26, + cacheWrite: 0, + }, + contextWindow: 1000000, + maxTokens: 131072, + } satisfies Model<"openai-completions">, "gpt-5": { id: "gpt-5", name: "GPT-5", @@ -6617,6 +7537,74 @@ export const MODELS = { contextWindow: 1050000, maxTokens: 128000, } satisfies Model<"openai-responses">, + "gpt-5.6-luna": { + id: "gpt-5.6-luna", + name: "GPT-5.6 Luna", + api: "openai-responses", + provider: "opencode", + baseUrl: "https://opencode.ai/zen/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1, + output: 6, + cacheRead: 0.1, + cacheWrite: 1.25, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-responses">, + "gpt-5.6-sol": { + id: "gpt-5.6-sol", + name: "GPT-5.6 Sol", + api: "openai-responses", + provider: "opencode", + baseUrl: "https://opencode.ai/zen/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 5, + output: 30, + cacheRead: 0.5, + cacheWrite: 6.25, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-responses">, + "gpt-5.6-terra": { + id: "gpt-5.6-terra", + name: "GPT-5.6 Terra", + api: "openai-responses", + provider: "opencode", + baseUrl: "https://opencode.ai/zen/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2.5, + output: 15, + cacheRead: 0.25, + cacheWrite: 3.125, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-responses">, + "grok-4.5": { + id: "grok-4.5", + name: "Grok 4.5", + api: "openai-responses", + provider: "opencode", + baseUrl: "https://opencode.ai/zen/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 6, + cacheRead: 0.5, + cacheWrite: 0, + }, + contextWindow: 500000, + maxTokens: 500000, + } satisfies Model<"openai-responses">, "grok-build-0.1": { id: "grok-build-0.1", name: "Grok Build 0.1", @@ -6634,6 +7622,23 @@ export const MODELS = { contextWindow: 256000, maxTokens: 256000, } satisfies Model<"openai-completions">, + "hy3-free": { + id: "hy3-free", + name: "Hy3 Free", + api: "openai-completions", + provider: "opencode", + baseUrl: "https://opencode.ai/zen/v1", + reasoning: true, + input: ["text"], + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 190000, + maxTokens: 64000, + } satisfies Model<"openai-completions">, "kimi-k2.5": { id: "kimi-k2.5", name: "Kimi K2.5", @@ -6668,6 +7673,23 @@ export const MODELS = { contextWindow: 262144, maxTokens: 65536, } satisfies Model<"openai-completions">, + "kimi-k2.7-code": { + id: "kimi-k2.7-code", + name: "Kimi K2.7 Code", + api: "openai-completions", + provider: "opencode", + baseUrl: "https://opencode.ai/zen/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.95, + output: 4, + cacheRead: 0.19, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 262144, + } satisfies Model<"openai-completions">, "mimo-v2.5-free": { id: "mimo-v2.5-free", name: "MiMo V2.5 Free", @@ -6687,7 +7709,7 @@ export const MODELS = { } satisfies Model<"openai-completions">, "minimax-m2.5": { id: "minimax-m2.5", - name: "MiniMax M2.5", + name: "MiniMax-M2.5", api: "openai-completions", provider: "opencode", baseUrl: "https://opencode.ai/zen/v1", @@ -6704,7 +7726,7 @@ export const MODELS = { } satisfies Model<"openai-completions">, "minimax-m2.7": { id: "minimax-m2.7", - name: "MiniMax M2.7", + name: "MiniMax-M2.7", api: "openai-completions", provider: "opencode", baseUrl: "https://opencode.ai/zen/v1", @@ -6719,6 +7741,23 @@ export const MODELS = { contextWindow: 204800, maxTokens: 131072, } satisfies Model<"openai-completions">, + "minimax-m3": { + id: "minimax-m3", + name: "MiniMax-M3", + api: "openai-completions", + provider: "opencode", + baseUrl: "https://opencode.ai/zen/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.3, + output: 1.2, + cacheRead: 0.06, + cacheWrite: 0, + }, + contextWindow: 512000, + maxTokens: 128000, + } satisfies Model<"openai-completions">, "nemotron-3-ultra-free": { id: "nemotron-3-ultra-free", name: "Nemotron 3 Ultra Free", @@ -6815,9 +7854,9 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 1.74, - output: 3.48, - cacheRead: 0.0145, + input: 0.435, + output: 0.87, + cacheRead: 0.003625, cacheWrite: 0, }, contextWindow: 1000000, @@ -6857,6 +7896,23 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 131072, } satisfies Model<"openai-completions">, + "grok-4.5": { + id: "grok-4.5", + name: "Grok 4.5", + api: "openai-responses", + provider: "opencode-go", + baseUrl: "https://opencode.ai/zen/go/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 6, + cacheRead: 0.5, + cacheWrite: 0, + }, + contextWindow: 500000, + maxTokens: 500000, + } satisfies Model<"openai-responses">, "kimi-k2.6": { id: "kimi-k2.6", name: "Kimi K2.6", @@ -6891,6 +7947,23 @@ export const MODELS = { contextWindow: 262144, maxTokens: 262144, } satisfies Model<"openai-completions">, + "kimi-k3": { + id: "kimi-k3", + name: "Kimi K3 (2x usage)", + api: "openai-completions", + provider: "opencode-go", + baseUrl: "https://opencode.ai/zen/go/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 3, + output: 15, + cacheRead: 0.3, + cacheWrite: 0, + }, + contextWindow: 1048576, + maxTokens: 131072, + } satisfies Model<"openai-completions">, "mimo-v2.5": { id: "mimo-v2.5", name: "MiMo V2.5", @@ -6917,9 +7990,9 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 1.74, - output: 3.48, - cacheRead: 0.0145, + input: 0.435, + output: 0.87, + cacheRead: 0.003625, cacheWrite: 0, }, contextWindow: 1048576, @@ -6927,7 +8000,7 @@ export const MODELS = { } satisfies Model<"openai-completions">, "minimax-m2.7": { id: "minimax-m2.7", - name: "MiniMax M2.7", + name: "MiniMax-M2.7", api: "anthropic-messages", provider: "opencode-go", baseUrl: "https://opencode.ai/zen/go", @@ -6944,19 +8017,19 @@ export const MODELS = { } satisfies Model<"anthropic-messages">, "minimax-m3": { id: "minimax-m3", - name: "MiniMax M3 (3x usage)", + name: "MiniMax-M3", api: "anthropic-messages", provider: "opencode-go", baseUrl: "https://opencode.ai/zen/go", reasoning: true, input: ["text", "image"], cost: { - input: 0.1, - output: 0.4, - cacheRead: 0.02, + input: 0.3, + output: 1.2, + cacheRead: 0.06, cacheWrite: 0, }, - contextWindow: 512000, + contextWindow: 1000000, maxTokens: 131072, } satisfies Model<"anthropic-messages">, "qwen3.6-plus": { @@ -7029,6 +8102,57 @@ export const MODELS = { contextWindow: 256000, maxTokens: 4096, } satisfies Model<"openai-completions">, + "aion-labs/aion-2.0": { + id: "aion-labs/aion-2.0", + name: "AionLabs: Aion-2.0", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text"], + cost: { + input: 0.7999999999999999, + output: 1.5999999999999999, + cacheRead: 0.19999999999999998, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 32768, + } satisfies Model<"openai-completions">, + "aion-labs/aion-3.0": { + id: "aion-labs/aion-3.0", + name: "AionLabs: Aion-3.0", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text"], + cost: { + input: 3, + output: 6, + cacheRead: 0.75, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 32768, + } satisfies Model<"openai-completions">, + "aion-labs/aion-3.0-mini": { + id: "aion-labs/aion-3.0-mini", + name: "AionLabs: Aion-3.0-Mini", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text"], + cost: { + input: 0.7, + output: 1.4, + cacheRead: 0.18, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 32768, + } satisfies Model<"openai-completions">, "amazon/nova-2-lite-v1": { id: "amazon/nova-2-lite-v1", name: "Amazon: Nova 2 Lite", @@ -7131,23 +8255,6 @@ export const MODELS = { contextWindow: 200000, maxTokens: 4096, } 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-fable-5": { id: "anthropic/claude-fable-5", name: "Anthropic: Claude Fable 5", @@ -7250,23 +8357,6 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 128000, } satisfies Model<"openai-completions">, - "anthropic/claude-opus-4.6-fast": { - id: "anthropic/claude-opus-4.6-fast", - name: "Anthropic: Claude Opus 4.6 (Fast)", - api: "openai-completions", - provider: "openrouter", - baseUrl: "https://openrouter.ai/api/v1", - reasoning: true, - input: ["text", "image"], - cost: { - input: 30, - output: 150, - cacheRead: 3, - cacheWrite: 37.5, - }, - contextWindow: 1000000, - maxTokens: 128000, - } satisfies Model<"openai-completions">, "anthropic/claude-opus-4.7": { id: "anthropic/claude-opus-4.7", name: "Anthropic: Claude Opus 4.7", @@ -7386,6 +8476,23 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 128000, } satisfies Model<"openai-completions">, + "anthropic/claude-sonnet-5": { + id: "anthropic/claude-sonnet-5", + name: "Anthropic: Claude Sonnet 5", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 10, + cacheRead: 0.19999999999999998, + cacheWrite: 2.5, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"openai-completions">, "arcee-ai/trinity-large-thinking": { id: "arcee-ai/trinity-large-thinking", name: "Arcee AI: Trinity Large Thinking", @@ -7403,23 +8510,6 @@ export const MODELS = { contextWindow: 262144, maxTokens: 80000, } satisfies Model<"openai-completions">, - "arcee-ai/trinity-mini": { - id: "arcee-ai/trinity-mini", - name: "Arcee AI: Trinity Mini", - api: "openai-completions", - provider: "openrouter", - baseUrl: "https://openrouter.ai/api/v1", - reasoning: true, - input: ["text"], - cost: { - input: 0.045, - output: 0.15, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 131072, - maxTokens: 131072, - } satisfies Model<"openai-completions">, "arcee-ai/virtuoso-large": { id: "arcee-ai/virtuoso-large", name: "Arcee AI: Virtuoso Large", @@ -7599,13 +8689,13 @@ export const MODELS = { reasoning: false, input: ["text"], cost: { - input: 0.19999999999999998, - output: 0.77, + input: 0.27, + output: 1.12, cacheRead: 0.135, cacheWrite: 0, }, contextWindow: 163840, - maxTokens: 16384, + maxTokens: 65536, } satisfies Model<"openai-completions">, "deepseek/deepseek-chat-v3.1": { id: "deepseek/deepseek-chat-v3.1", @@ -7616,8 +8706,8 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.21, - output: 0.7899999999999999, + input: 0.25, + output: 0.95, cacheRead: 0.13, cacheWrite: 0, }, @@ -7668,11 +8758,11 @@ export const MODELS = { input: ["text"], cost: { input: 0.27, - output: 0.95, - cacheRead: 0.13, + output: 1, + cacheRead: 0.135, cacheWrite: 0, }, - contextWindow: 163840, + contextWindow: 131072, maxTokens: 32768, } satisfies Model<"openai-completions">, "deepseek/deepseek-v3.2": { @@ -7684,13 +8774,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.2288, - output: 0.3432, - cacheRead: 0, + input: 0.26899999999999996, + output: 0.39999999999999997, + cacheRead: 0.13449999999999998, cacheWrite: 0, }, - contextWindow: 131072, - maxTokens: 64000, + contextWindow: 163840, + maxTokens: 65536, } satisfies Model<"openai-completions">, "deepseek/deepseek-v3.2-exp": { id: "deepseek/deepseek-v3.2-exp", @@ -7718,13 +8808,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.09, - output: 0.18, - cacheRead: 0.02, + input: 0.098, + output: 0.196, + cacheRead: 0.0196, cacheWrite: 0, }, contextWindow: 1048576, - maxTokens: 65536, + maxTokens: 4096, } satisfies Model<"openai-completions">, "deepseek/deepseek-v4-pro": { id: "deepseek/deepseek-v4-pro", @@ -7743,23 +8833,6 @@ export const MODELS = { contextWindow: 1048576, maxTokens: 384000, } satisfies Model<"openai-completions">, - "essentialai/rnj-1-instruct": { - id: "essentialai/rnj-1-instruct", - name: "EssentialAI: Rnj 1 Instruct", - api: "openai-completions", - provider: "openrouter", - baseUrl: "https://openrouter.ai/api/v1", - reasoning: false, - input: ["text"], - cost: { - input: 0.15, - output: 0.15, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 32768, - maxTokens: 4096, - } satisfies Model<"openai-completions">, "google/gemini-2.5-flash": { id: "google/gemini-2.5-flash", name: "Google: Gemini 2.5 Flash", @@ -7794,23 +8867,6 @@ export const MODELS = { contextWindow: 1048576, maxTokens: 65535, } satisfies Model<"openai-completions">, - "google/gemini-2.5-flash-lite-preview-09-2025": { - id: "google/gemini-2.5-flash-lite-preview-09-2025", - name: "Google: Gemini 2.5 Flash Lite Preview 09-2025", - api: "openai-completions", - provider: "openrouter", - baseUrl: "https://openrouter.ai/api/v1", - reasoning: true, - input: ["text", "image"], - cost: { - input: 0.09999999999999999, - output: 0.39999999999999997, - cacheRead: 0.01, - cacheWrite: 0.08333333333333334, - }, - 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", @@ -8007,13 +9063,13 @@ export const MODELS = { reasoning: false, input: ["text", "image"], cost: { - input: 0.08, - output: 0.16, + input: 0.09999999999999999, + output: 0.3, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 16384, + maxTokens: 4096, } satisfies Model<"openai-completions">, "google/gemma-4-26b-a4b-it": { id: "google/gemma-4-26b-a4b-it", @@ -8024,13 +9080,13 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.06, - output: 0.33, + input: 0.07, + output: 0.33999999999999997, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 4096, + maxTokens: 16384, } satisfies Model<"openai-completions">, "google/gemma-4-26b-a4b-it:free": { id: "google/gemma-4-26b-a4b-it:free", @@ -8058,9 +9114,9 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.12, - output: 0.35, - cacheRead: 0.09, + input: 0.22, + output: 0.55, + cacheRead: 0.12, cacheWrite: 0, }, contextWindow: 262144, @@ -8081,7 +9137,7 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 8192, + maxTokens: 32768, } satisfies Model<"openai-completions">, "ibm-granite/granite-4.1-8b": { id: "ibm-granite/granite-4.1-8b", @@ -8168,6 +9224,23 @@ export const MODELS = { contextWindow: 262144, maxTokens: 65536, } satisfies Model<"openai-completions">, + "kwaipilot/kat-coder-air-v2.5": { + id: "kwaipilot/kat-coder-air-v2.5", + name: "Kwaipilot: KAT-Coder-Air V2.5", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: false, + input: ["text"], + cost: { + input: 0.15, + output: 0.6, + cacheRead: 0.03, + cacheWrite: 0, + }, + contextWindow: 256000, + maxTokens: 80000, + } satisfies Model<"openai-completions">, "kwaipilot/kat-coder-pro-v2": { id: "kwaipilot/kat-coder-pro-v2", name: "Kwaipilot: KAT-Coder-Pro V2", @@ -8185,22 +9258,22 @@ export const MODELS = { contextWindow: 256000, maxTokens: 80000, } satisfies Model<"openai-completions">, - "liquid/lfm-2.5-1.2b-thinking:free": { - id: "liquid/lfm-2.5-1.2b-thinking:free", - name: "LiquidAI: LFM2.5-1.2B-Thinking (free)", + "kwaipilot/kat-coder-pro-v2.5": { + id: "kwaipilot/kat-coder-pro-v2.5", + name: "Kwaipilot: KAT-Coder-Pro V2.5", api: "openai-completions", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - reasoning: true, + reasoning: false, input: ["text"], cost: { - input: 0, - output: 0, - cacheRead: 0, + input: 0.74, + output: 2.96, + cacheRead: 0.15, cacheWrite: 0, }, - contextWindow: 32768, - maxTokens: 4096, + contextWindow: 256000, + maxTokens: 80000, } satisfies Model<"openai-completions">, "meta-llama/llama-3.1-70b-instruct": { id: "meta-llama/llama-3.1-70b-instruct", @@ -8228,13 +9301,13 @@ export const MODELS = { reasoning: false, input: ["text"], cost: { - input: 0.02, - output: 0.03, - cacheRead: 0, + input: 0.049999999999999996, + output: 0.08, + cacheRead: 0.024999999999999998, cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 16384, + maxTokens: 131072, } satisfies Model<"openai-completions">, "meta-llama/llama-3.3-70b-instruct": { id: "meta-llama/llama-3.3-70b-instruct", @@ -8245,13 +9318,13 @@ export const MODELS = { reasoning: false, input: ["text"], cost: { - input: 0.09999999999999999, - output: 0.32, + input: 0.13, + output: 0.39999999999999997, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 16384, + maxTokens: 128000, } satisfies Model<"openai-completions">, "meta-llama/llama-3.3-70b-instruct:free": { id: "meta-llama/llama-3.3-70b-instruct:free", @@ -8279,8 +9352,8 @@ export const MODELS = { reasoning: false, input: ["text", "image"], cost: { - input: 0.15, - output: 0.6, + input: 0.19999999999999998, + output: 0.7999999999999999, cacheRead: 0, cacheWrite: 0, }, @@ -8304,6 +9377,23 @@ export const MODELS = { contextWindow: 10000000, maxTokens: 16384, } satisfies Model<"openai-completions">, + "meta/muse-spark-1.1": { + id: "meta/muse-spark-1.1", + name: "Meta: Muse Spark 1.1", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1.25, + output: 4.25, + cacheRead: 0.15, + cacheWrite: 0, + }, + contextWindow: 1048576, + maxTokens: 4096, + } satisfies Model<"openai-completions">, "minimax/minimax-m1": { id: "minimax/minimax-m1", name: "MiniMax: MiniMax M1", @@ -8313,7 +9403,7 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.39999999999999997, + input: 0.55, output: 2.2, cacheRead: 0, cacheWrite: 0, @@ -8330,13 +9420,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.255, - output: 1, + input: 0.3, + output: 1.2, cacheRead: 0.03, cacheWrite: 0, }, contextWindow: 204800, - maxTokens: 196608, + maxTokens: 131072, } satisfies Model<"openai-completions">, "minimax/minimax-m2.1": { id: "minimax/minimax-m2.1", @@ -8347,13 +9437,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.29, - output: 0.95, + input: 0.3, + output: 1.2, cacheRead: 0.03, cacheWrite: 0, }, contextWindow: 204800, - maxTokens: 196608, + maxTokens: 131072, } satisfies Model<"openai-completions">, "minimax/minimax-m2.5": { id: "minimax/minimax-m2.5", @@ -8602,13 +9692,13 @@ export const MODELS = { reasoning: false, input: ["text"], cost: { - input: 0.02, + input: 0.019000000000000003, output: 0.03, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 4096, + maxTokens: 16384, } satisfies Model<"openai-completions">, "mistralai/mistral-saba": { id: "mistralai/mistral-saba", @@ -8653,13 +9743,13 @@ export const MODELS = { reasoning: false, input: ["text", "image"], cost: { - input: 0.075, - output: 0.19999999999999998, - cacheRead: 0, + input: 0.09999999999999999, + output: 0.3, + cacheRead: 0.01, cacheWrite: 0, }, - contextWindow: 128000, - maxTokens: 16384, + contextWindow: 131072, + maxTokens: 4096, } satisfies Model<"openai-completions">, "mistralai/mixtral-8x22b-instruct": { id: "mistralai/mixtral-8x22b-instruct", @@ -8710,7 +9800,7 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 32768, + maxTokens: 100352, } satisfies Model<"openai-completions">, "moonshotai/kimi-k2-0905": { id: "moonshotai/kimi-k2-0905", @@ -8727,7 +9817,7 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 262144, + maxTokens: 100352, } satisfies Model<"openai-completions">, "moonshotai/kimi-k2-thinking": { id: "moonshotai/kimi-k2-thinking", @@ -8740,11 +9830,11 @@ export const MODELS = { cost: { input: 0.6, output: 2.5, - cacheRead: 0, + cacheRead: 0.15, cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 262144, + maxTokens: 100352, } satisfies Model<"openai-completions">, "moonshotai/kimi-k2.5": { id: "moonshotai/kimi-k2.5", @@ -8772,64 +9862,81 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.66, - output: 3.5, - cacheRead: 0.33, + input: 0.684, + output: 3.42, + cacheRead: 0.144, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 262144, + } satisfies Model<"openai-completions">, + "moonshotai/kimi-k2.7-code": { + id: "moonshotai/kimi-k2.7-code", + name: "MoonshotAI: Kimi K2.7 Code", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.85, + output: 3.8, + cacheRead: 0.16999999999999998, cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 262142, + maxTokens: 262144, } satisfies Model<"openai-completions">, - "moonshotai/kimi-k2.7-code": { - id: "moonshotai/kimi-k2.7-code", - name: "MoonshotAI: Kimi K2.7 Code", + "moonshotai/kimi-k3": { + id: "moonshotai/kimi-k3", + name: "MoonshotAI: Kimi K3", api: "openai-completions", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text", "image"], cost: { - input: 0.612, - output: 3.0690000000000004, - cacheRead: 0.1296, + input: 3, + output: 15, + cacheRead: 0.3, cacheWrite: 0, }, - contextWindow: 262144, - maxTokens: 262144, + contextWindow: 1048576, + maxTokens: 4096, } satisfies Model<"openai-completions">, - "nex-agi/nex-n2-pro:free": { - id: "nex-agi/nex-n2-pro:free", - name: "Nex AGI: Nex-N2-Pro (free)", + "nex-agi/nex-n2-mini": { + id: "nex-agi/nex-n2-mini", + name: "Nex AGI: Nex-N2-Mini", api: "openai-completions", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text", "image"], cost: { - input: 0, - output: 0, - cacheRead: 0, + input: 0.024999999999999998, + output: 0.09999999999999999, + cacheRead: 0.0025, cacheWrite: 0, }, contextWindow: 262144, maxTokens: 262144, } 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", + "nex-agi/nex-n2-pro": { + id: "nex-agi/nex-n2-pro", + name: "Nex AGI: Nex-N2-Pro", api: "openai-completions", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, - input: ["text"], + input: ["text", "image"], cost: { - input: 0.39999999999999997, - output: 0.39999999999999997, - cacheRead: 0, + input: 0.25, + output: 1, + cacheRead: 0.024999999999999998, cacheWrite: 0, }, - contextWindow: 131072, - maxTokens: 16384, + contextWindow: 262144, + maxTokens: 262144, } satisfies Model<"openai-completions">, "nvidia/nemotron-3-nano-30b-a3b": { id: "nvidia/nemotron-3-nano-30b-a3b", @@ -8891,9 +9998,9 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.09, - output: 0.44999999999999996, - cacheRead: 0, + input: 0.21, + output: 0.45499999999999996, + cacheRead: 0.06, cacheWrite: 0, }, contextWindow: 1000000, @@ -8925,13 +10032,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.5, - output: 2.2, - cacheRead: 0.09999999999999999, + input: 0.6, + output: 3.5999999999999996, + cacheRead: 0.19999999999999998, cacheWrite: 0, }, contextWindow: 1000000, - maxTokens: 16384, + maxTokens: 4096, } satisfies Model<"openai-completions">, "nvidia/nemotron-3-ultra-550b-a55b:free": { id: "nvidia/nemotron-3-ultra-550b-a55b:free", @@ -9101,7 +10208,7 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 1047576, - maxTokens: 4096, + maxTokens: 32768, } satisfies Model<"openai-completions">, "openai/gpt-4.1-mini": { id: "openai/gpt-4.1-mini", @@ -9148,7 +10255,7 @@ export const MODELS = { cost: { input: 2.5, output: 10, - cacheRead: 0, + cacheRead: 1.25, cacheWrite: 0, }, contextWindow: 128000, @@ -9301,11 +10408,11 @@ export const MODELS = { cost: { input: 0.049999999999999996, output: 0.39999999999999997, - cacheRead: 0.01, + cacheRead: 0.005, cacheWrite: 0, }, contextWindow: 400000, - maxTokens: 4096, + maxTokens: 128000, } satisfies Model<"openai-completions">, "openai/gpt-5-pro": { id: "openai/gpt-5-pro", @@ -9335,7 +10442,7 @@ export const MODELS = { cost: { input: 1.25, output: 10, - cacheRead: 0.13, + cacheRead: 0.125, cacheWrite: 0, }, contextWindow: 400000, @@ -9352,11 +10459,11 @@ export const MODELS = { cost: { input: 1.25, output: 10, - cacheRead: 0.13, + cacheRead: 0.125, cacheWrite: 0, }, contextWindow: 128000, - maxTokens: 32000, + maxTokens: 16384, } satisfies Model<"openai-completions">, "openai/gpt-5.1-codex": { id: "openai/gpt-5.1-codex", @@ -9369,7 +10476,7 @@ export const MODELS = { cost: { input: 1.25, output: 10, - cacheRead: 0.13, + cacheRead: 0.125, cacheWrite: 0, }, contextWindow: 400000, @@ -9613,6 +10720,108 @@ export const MODELS = { contextWindow: 1050000, maxTokens: 128000, } satisfies Model<"openai-completions">, + "openai/gpt-5.6-luna": { + id: "openai/gpt-5.6-luna", + name: "OpenAI: GPT-5.6 Luna", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1, + output: 6, + cacheRead: 0.09999999999999999, + cacheWrite: 1.25, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-completions">, + "openai/gpt-5.6-luna-pro": { + id: "openai/gpt-5.6-luna-pro", + name: "OpenAI: GPT-5.6 Luna Pro", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1, + output: 6, + cacheRead: 0.09999999999999999, + cacheWrite: 1.25, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-completions">, + "openai/gpt-5.6-sol": { + id: "openai/gpt-5.6-sol", + name: "OpenAI: GPT-5.6 Sol", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 5, + output: 30, + cacheRead: 0.5, + cacheWrite: 6.25, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-completions">, + "openai/gpt-5.6-sol-pro": { + id: "openai/gpt-5.6-sol-pro", + name: "OpenAI: GPT-5.6 Sol Pro", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 5, + output: 30, + cacheRead: 0.5, + cacheWrite: 6.25, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-completions">, + "openai/gpt-5.6-terra": { + id: "openai/gpt-5.6-terra", + name: "OpenAI: GPT-5.6 Terra", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2.5, + output: 15, + cacheRead: 0.25, + cacheWrite: 3.125, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-completions">, + "openai/gpt-5.6-terra-pro": { + id: "openai/gpt-5.6-terra-pro", + name: "OpenAI: GPT-5.6 Terra Pro", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2.5, + output: 15, + cacheRead: 0.25, + cacheWrite: 3.125, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"openai-completions">, "openai/gpt-audio": { id: "openai/gpt-audio", name: "OpenAI: GPT Audio", @@ -9673,25 +10882,8 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.039, - output: 0.18, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 131072, - maxTokens: 4096, - } 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, + input: 0.037, + output: 0.16999999999999998, cacheRead: 0, cacheWrite: 0, }, @@ -9707,13 +10899,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.029, - output: 0.14, - cacheRead: 0, + input: 0.03, + output: 0.13, + cacheRead: 0.03, cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 4096, + maxTokens: 131072, } satisfies Model<"openai-completions">, "openai/gpt-oss-20b:free": { id: "openai/gpt-oss-20b:free", @@ -9919,39 +11111,39 @@ export const MODELS = { contextWindow: 2000000, maxTokens: 4096, } satisfies Model<"openai-completions">, - "openrouter/free": { - id: "openrouter/free", - name: "Free Models Router", + "openrouter/auto-beta": { + id: "openrouter/auto-beta", + name: "Auto Router (Beta)", api: "openai-completions", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text", "image"], cost: { - input: 0, - output: 0, + input: -1000000, + output: -1000000, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 200000, + contextWindow: 2000000, maxTokens: 4096, } satisfies Model<"openai-completions">, - "openrouter/owl-alpha": { - id: "openrouter/owl-alpha", - name: "Owl Alpha", + "openrouter/free": { + id: "openrouter/free", + name: "Free Models Router", api: "openai-completions", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - reasoning: false, - input: ["text"], + reasoning: true, + input: ["text", "image"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 1048756, - maxTokens: 262144, + contextWindow: 200000, + maxTokens: 4096, } satisfies Model<"openai-completions">, "poolside/laguna-m.1": { id: "poolside/laguna-m.1", @@ -9987,26 +11179,26 @@ export const MODELS = { contextWindow: 262144, maxTokens: 32768, } satisfies Model<"openai-completions">, - "poolside/laguna-xs.2": { - id: "poolside/laguna-xs.2", - name: "Poolside: Laguna XS.2", + "poolside/laguna-xs-2.1": { + id: "poolside/laguna-xs-2.1", + name: "Poolside: Laguna XS 2.1", api: "openai-completions", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { - input: 0.09999999999999999, - output: 0.19999999999999998, - cacheRead: 0.049999999999999996, + input: 0.06, + output: 0.12, + cacheRead: 0.03, cacheWrite: 0, }, contextWindow: 262144, maxTokens: 32768, } satisfies Model<"openai-completions">, - "poolside/laguna-xs.2:free": { - id: "poolside/laguna-xs.2:free", - name: "Poolside: Laguna XS.2 (free)", + "poolside/laguna-xs-2.1:free": { + id: "poolside/laguna-xs-2.1:free", + name: "Poolside: Laguna XS 2.1 (free)", api: "openai-completions", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", @@ -10021,23 +11213,6 @@ export const MODELS = { contextWindow: 262144, maxTokens: 32768, } 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">, "qwen/qwen-2.5-72b-instruct": { id: "qwen/qwen-2.5-72b-instruct", name: "Qwen2.5 72B Instruct", @@ -10132,13 +11307,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.09999999999999999, - output: 0.24, + input: 0.22749999999999998, + output: 0.9099999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131702, - maxTokens: 40960, + maxTokens: 8192, } satisfies Model<"openai-completions">, "qwen/qwen3-235b-a22b": { id: "qwen/qwen3-235b-a22b", @@ -10167,7 +11342,7 @@ export const MODELS = { input: ["text"], cost: { input: 0.09, - output: 0.09999999999999999, + output: 0.55, cacheRead: 0, cacheWrite: 0, }, @@ -10183,13 +11358,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.09999999999999999, - output: 0.09999999999999999, - cacheRead: 0.09999999999999999, + input: 0.14950000000000002, + output: 1.495, + cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 262144, + maxTokens: 4096, } satisfies Model<"openai-completions">, "qwen/qwen3-30b-a3b": { id: "qwen/qwen3-30b-a3b", @@ -10200,13 +11375,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.12, - output: 0.5, + input: 0.13, + output: 0.52, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 16384, + maxTokens: 8192, } satisfies Model<"openai-completions">, "qwen/qwen3-30b-a3b-instruct-2507": { id: "qwen/qwen3-30b-a3b-instruct-2507", @@ -10217,13 +11392,13 @@ export const MODELS = { reasoning: false, input: ["text"], cost: { - input: 0.04815, - output: 0.19305, + input: 0.09999999999999999, + output: 0.3, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 131072, - maxTokens: 32000, + contextWindow: 262144, + maxTokens: 4096, } satisfies Model<"openai-completions">, "qwen/qwen3-30b-a3b-thinking-2507": { id: "qwen/qwen3-30b-a3b-thinking-2507", @@ -10234,13 +11409,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.08, - output: 0.39999999999999997, - cacheRead: 0.08, + input: 0.13, + output: 1.56, + cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 131072, + maxTokens: 32768, } satisfies Model<"openai-completions">, "qwen/qwen3-32b": { id: "qwen/qwen3-32b", @@ -10268,9 +11443,9 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.049999999999999996, - output: 0.39999999999999997, - cacheRead: 0.049999999999999996, + input: 0.117, + output: 0.45499999999999996, + cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, @@ -10285,9 +11460,9 @@ export const MODELS = { reasoning: false, input: ["text"], cost: { - input: 0.22, - output: 1.7999999999999998, - cacheRead: 0, + input: 0.3, + output: 1, + cacheRead: 0.09999999999999999, cacheWrite: 0, }, contextWindow: 1048576, @@ -10421,13 +11596,13 @@ export const MODELS = { reasoning: false, input: ["text"], cost: { - input: 0.09, + input: 0.09999999999999999, output: 1.1, - cacheRead: 0, + cacheRead: 0.07, cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 16384, + maxTokens: 262144, } satisfies Model<"openai-completions">, "qwen/qwen3-next-80b-a3b-instruct:free": { id: "qwen/qwen3-next-80b-a3b-instruct:free", @@ -10470,15 +11645,15 @@ export const MODELS = { provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, - input: ["text", "image"], - cost: { - input: 0.19999999999999998, - output: 0.88, - cacheRead: 0.11, + input: ["text", "image"], + cost: { + input: 0.21, + output: 1.9, + cacheRead: 0.09999999999999999, cacheWrite: 0, }, - contextWindow: 262144, - maxTokens: 16384, + contextWindow: 131072, + maxTokens: 32768, } satisfies Model<"openai-completions">, "qwen/qwen3-vl-235b-a22b-thinking": { id: "qwen/qwen3-vl-235b-a22b-thinking", @@ -10557,8 +11732,8 @@ export const MODELS = { reasoning: false, input: ["text", "image"], cost: { - input: 0.08, - output: 0.5, + input: 0.117, + output: 0.45499999999999996, cacheRead: 0, cacheWrite: 0, }, @@ -10597,7 +11772,7 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 262144, + maxTokens: 65536, } satisfies Model<"openai-completions">, "qwen/qwen3.5-27b": { id: "qwen/qwen3.5-27b", @@ -10608,13 +11783,13 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.195, - output: 1.56, + input: 0.26, + output: 2.6, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 65536, + maxTokens: 81920, } satisfies Model<"openai-completions">, "qwen/qwen3.5-35b-a3b": { id: "qwen/qwen3.5-35b-a3b", @@ -10642,13 +11817,13 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.385, - output: 2.4499999999999997, + input: 0.39, + output: 2.34, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 256000, - maxTokens: 4096, + contextWindow: 262144, + maxTokens: 65536, } satisfies Model<"openai-completions">, "qwen/qwen3.5-9b": { id: "qwen/qwen3.5-9b", @@ -10727,13 +11902,13 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.28850000000000003, - output: 3.17, + input: 0.44999999999999996, + output: 2.7, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 262140, + maxTokens: 65536, } satisfies Model<"openai-completions">, "qwen/qwen3.6-35b-a3b": { id: "qwen/qwen3.6-35b-a3b", @@ -10812,10 +11987,10 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 1.25, - output: 3.75, - cacheRead: 0.25, - cacheWrite: 1.5625, + input: 1.475, + output: 4.425, + cacheRead: 0.295, + cacheWrite: 1.84375, }, contextWindow: 1000000, maxTokens: 65536, @@ -10871,6 +12046,23 @@ export const MODELS = { contextWindow: 256000, maxTokens: 128000, } satisfies Model<"openai-completions">, + "sakana/fugu-ultra": { + id: "sakana/fugu-ultra", + name: "Sakana: Fugu Ultra", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 5, + output: 30, + cacheRead: 0.5, + cacheWrite: 0, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"openai-completions">, "sao10k/l3.1-euryale-70b": { id: "sao10k/l3.1-euryale-70b", name: "Sao10K: Llama 3.1 Euryale 70B v2.2", @@ -10897,13 +12089,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.09, + input: 0.09999999999999999, output: 0.3, - cacheRead: 0.02, + cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 16384, + maxTokens: 65536, } satisfies Model<"openai-completions">, "stepfun/step-3.7-flash": { id: "stepfun/step-3.7-flash", @@ -10922,6 +12114,23 @@ export const MODELS = { contextWindow: 256000, maxTokens: 256000, } satisfies Model<"openai-completions">, + "tencent/hy3": { + id: "tencent/hy3", + name: "Tencent: Hy3", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text"], + cost: { + input: 0.19999999999999998, + output: 0.7999999999999999, + cacheRead: 0.049999999999999996, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 131072, + } satisfies Model<"openai-completions">, "tencent/hy3-preview": { id: "tencent/hy3-preview", name: "Tencent: Hy3 preview", @@ -10939,22 +12148,22 @@ export const MODELS = { contextWindow: 262144, maxTokens: 4096, } satisfies Model<"openai-completions">, - "thedrummer/rocinante-12b": { - id: "thedrummer/rocinante-12b", - name: "TheDrummer: Rocinante 12B", + "tencent/hy3:free": { + id: "tencent/hy3:free", + name: "Tencent: Hy3 (free)", api: "openai-completions", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - reasoning: false, + reasoning: true, input: ["text"], cost: { - input: 0.16999999999999998, - output: 0.43, + input: 0, + output: 0, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 32768, - maxTokens: 32768, + contextWindow: 262144, + maxTokens: 262144, } satisfies Model<"openai-completions">, "thedrummer/unslopnemo-12b": { id: "thedrummer/unslopnemo-12b", @@ -10973,6 +12182,23 @@ export const MODELS = { contextWindow: 32768, maxTokens: 32768, } satisfies Model<"openai-completions">, + "thinkingmachines/inkling": { + id: "thinkingmachines/inkling", + name: "Thinking Machines: Inkling", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1, + output: 4.05, + cacheRead: 0.16999999999999998, + cacheWrite: 0, + }, + contextWindow: 1048576, + maxTokens: 4096, + } satisfies Model<"openai-completions">, "upstage/solar-pro-3": { id: "upstage/solar-pro-3", name: "Upstage: Solar Pro 3", @@ -11024,6 +12250,23 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 4096, } satisfies Model<"openai-completions">, + "x-ai/grok-4.5": { + id: "x-ai/grok-4.5", + name: "xAI: Grok 4.5", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 6, + cacheRead: 0.3, + cacheWrite: 0, + }, + contextWindow: 500000, + maxTokens: 4096, + } satisfies Model<"openai-completions">, "x-ai/grok-build-0.1": { id: "x-ai/grok-build-0.1", name: "xAI: Grok Build 0.1", @@ -11135,9 +12378,9 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.43, - output: 1.74, - cacheRead: 0.08, + input: 0.5, + output: 2, + cacheRead: 0.09999999999999999, cacheWrite: 0, }, contextWindow: 202752, @@ -11186,13 +12429,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.06, + input: 0.060500000000000005, output: 0.39999999999999997, - cacheRead: 0.01, + cacheRead: 0, cacheWrite: 0, }, - contextWindow: 202752, - maxTokens: 16384, + contextWindow: 200000, + maxTokens: 131072, } satisfies Model<"openai-completions">, "z-ai/glm-5": { id: "z-ai/glm-5", @@ -11209,7 +12452,7 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 202752, - maxTokens: 4096, + maxTokens: 202752, } satisfies Model<"openai-completions">, "z-ai/glm-5-turbo": { id: "z-ai/glm-5-turbo", @@ -11225,7 +12468,7 @@ export const MODELS = { cacheRead: 0.24, cacheWrite: 0, }, - contextWindow: 262144, + contextWindow: 202752, maxTokens: 131072, } satisfies Model<"openai-completions">, "z-ai/glm-5.1": { @@ -11237,13 +12480,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.98, - output: 3.08, - cacheRead: 0.49, + input: 0.966, + output: 3.036, + cacheRead: 0.1794, cacheWrite: 0, }, contextWindow: 202752, - maxTokens: 65535, + maxTokens: 128000, } satisfies Model<"openai-completions">, "z-ai/glm-5.2": { id: "z-ai/glm-5.2", @@ -11254,14 +12497,31 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 1.2, - output: 4.1, - cacheRead: 0.19999999999999998, + input: 0.2618, + output: 0.8228, + cacheRead: 0.048620000000000003, cacheWrite: 0, }, contextWindow: 1048576, maxTokens: 131072, } satisfies Model<"openai-completions">, + "z-ai/glm-5v-turbo": { + id: "z-ai/glm-5v-turbo", + name: "Z.ai: GLM 5V Turbo", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1.2, + output: 4, + cacheRead: 0.24, + cacheWrite: 0, + }, + contextWindow: 202752, + maxTokens: 131072, + } satisfies Model<"openai-completions">, "~anthropic/claude-fable-latest": { id: "~anthropic/claude-fable-latest", name: "Anthropic: Claude Fable Latest", @@ -11322,10 +12582,10 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 3, - output: 15, - cacheRead: 0.3, - cacheWrite: 3.75, + input: 2, + output: 10, + cacheRead: 0.19999999999999998, + cacheWrite: 2.5, }, contextWindow: 1000000, maxTokens: 128000, @@ -11373,13 +12633,13 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.66, - output: 3.5, - cacheRead: 0.33, + input: 3, + output: 15, + cacheRead: 0.3, cacheWrite: 0, }, - contextWindow: 262144, - maxTokens: 262142, + contextWindow: 1048576, + maxTokens: 4096, } satisfies Model<"openai-completions">, "~openai/gpt-latest": { id: "~openai/gpt-latest", @@ -11393,7 +12653,7 @@ export const MODELS = { input: 5, output: 30, cacheRead: 0.5, - cacheWrite: 0, + cacheWrite: 6.25, }, contextWindow: 1050000, maxTokens: 128000, @@ -11415,6 +12675,23 @@ export const MODELS = { contextWindow: 400000, maxTokens: 128000, } satisfies Model<"openai-completions">, + "~x-ai/grok-latest": { + id: "~x-ai/grok-latest", + name: "xAI: Grok Latest", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 6, + cacheRead: 0.3, + cacheWrite: 0, + }, + contextWindow: 500000, + maxTokens: 4096, + } satisfies Model<"openai-completions">, }, "vercel-ai-gateway": { "alibaba/qwen-3-14b": { @@ -11525,7 +12802,7 @@ export const MODELS = { api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", - reasoning: true, + reasoning: false, input: ["text"], cost: { input: 1.5, @@ -11542,7 +12819,7 @@ export const MODELS = { api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", - reasoning: true, + reasoning: false, input: ["text"], cost: { input: 0.15, @@ -11559,7 +12836,7 @@ export const MODELS = { api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", - reasoning: true, + reasoning: false, input: ["text"], cost: { input: 0.5, @@ -11672,6 +12949,40 @@ export const MODELS = { contextWindow: 131072, maxTokens: 32768, } satisfies Model<"anthropic-messages">, + "alibaba/qwen3-vl-235b-a22b-instruct": { + id: "alibaba/qwen3-vl-235b-a22b-instruct", + name: "Qwen3 VL 235B A22B Instruct", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.39999999999999997, + output: 1.5999999999999999, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 129024, + } satisfies Model<"anthropic-messages">, + "alibaba/qwen3-vl-instruct": { + id: "alibaba/qwen3-vl-instruct", + name: "Qwen3 VL 235B A22B Instruct", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.39999999999999997, + output: 1.5999999999999999, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 129024, + } satisfies Model<"anthropic-messages">, "alibaba/qwen3-vl-thinking": { id: "alibaba/qwen3-vl-thinking", name: "Qwen3 VL 235B A22B Thinking", @@ -11791,6 +13102,74 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 64000, } satisfies Model<"anthropic-messages">, + "amazon/nova-2-lite": { + id: "amazon/nova-2-lite", + name: "Nova 2 Lite", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.3, + output: 2.5, + cacheRead: 0.075, + cacheWrite: 0, + }, + contextWindow: 1000000, + maxTokens: 1000000, + } satisfies Model<"anthropic-messages">, + "amazon/nova-lite": { + id: "amazon/nova-lite", + name: "Nova Lite", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.06, + output: 0.24, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 300000, + maxTokens: 8192, + } satisfies Model<"anthropic-messages">, + "amazon/nova-micro": { + id: "amazon/nova-micro", + name: "Nova Micro", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: false, + input: ["text"], + cost: { + input: 0.035, + output: 0.14, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 128000, + maxTokens: 8192, + } satisfies Model<"anthropic-messages">, + "amazon/nova-pro": { + id: "amazon/nova-pro", + name: "Nova Pro", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.7999999999999999, + output: 3.1999999999999997, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 300000, + maxTokens: 8192, + } satisfies Model<"anthropic-messages">, "anthropic/claude-3-haiku": { id: "anthropic/claude-3-haiku", name: "Claude 3 Haiku", @@ -11808,22 +13187,22 @@ export const MODELS = { contextWindow: 200000, maxTokens: 4096, } satisfies Model<"anthropic-messages">, - "anthropic/claude-3.5-haiku": { - id: "anthropic/claude-3.5-haiku", - name: "Claude 3.5 Haiku", + "anthropic/claude-fable-5": { + id: "anthropic/claude-fable-5", + name: "Claude Fable 5", api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", - reasoning: false, + reasoning: true, input: ["text", "image"], cost: { - input: 0.7999999999999999, - output: 4, - cacheRead: 0.08, - cacheWrite: 1, + input: 10, + output: 50, + cacheRead: 1, + cacheWrite: 12.5, }, - contextWindow: 200000, - maxTokens: 8192, + contextWindow: 1000000, + maxTokens: 128000, } satisfies Model<"anthropic-messages">, "anthropic/claude-haiku-4.5": { id: "anthropic/claude-haiku-4.5", @@ -11857,7 +13236,7 @@ export const MODELS = { cacheWrite: 18.75, }, contextWindow: 200000, - maxTokens: 32000, + maxTokens: 8192, } satisfies Model<"anthropic-messages">, "anthropic/claude-opus-4.1": { id: "anthropic/claude-opus-4.1", @@ -11927,6 +13306,23 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 128000, } satisfies Model<"anthropic-messages">, + "anthropic/claude-opus-4.7-fast": { + id: "anthropic/claude-opus-4.7-fast", + name: "Claude Opus 4.7 (Fast)", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 30, + output: 150, + cacheRead: 3, + cacheWrite: 37.5, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"anthropic-messages">, "anthropic/claude-opus-4.8": { id: "anthropic/claude-opus-4.8", name: "Claude Opus 4.8", @@ -11944,6 +13340,23 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 128000, } satisfies Model<"anthropic-messages">, + "anthropic/claude-opus-4.8-fast": { + id: "anthropic/claude-opus-4.8-fast", + name: "Claude Opus 4.8 (Fast)", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 10, + output: 50, + cacheRead: 1, + cacheWrite: 12.5, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"anthropic-messages">, "anthropic/claude-sonnet-4": { id: "anthropic/claude-sonnet-4", name: "Claude Sonnet 4", @@ -11959,7 +13372,7 @@ export const MODELS = { cacheWrite: 3.75, }, contextWindow: 1000000, - maxTokens: 64000, + maxTokens: 8192, } satisfies Model<"anthropic-messages">, "anthropic/claude-sonnet-4.5": { id: "anthropic/claude-sonnet-4.5", @@ -11995,22 +13408,22 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 128000, } satisfies Model<"anthropic-messages">, - "arcee-ai/trinity-large-preview": { - id: "arcee-ai/trinity-large-preview", - name: "Trinity Large Preview", + "anthropic/claude-sonnet-5": { + id: "anthropic/claude-sonnet-5", + name: "Claude Sonnet 5", api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", - reasoning: false, - input: ["text"], + reasoning: true, + input: ["text", "image"], cost: { - input: 0.25, - output: 1, - cacheRead: 0, - cacheWrite: 0, + input: 2, + output: 10, + cacheRead: 0.19999999999999998, + cacheWrite: 2.5, }, - contextWindow: 131000, - maxTokens: 131000, + contextWindow: 1000000, + maxTokens: 128000, } satisfies Model<"anthropic-messages">, "arcee-ai/trinity-large-thinking": { id: "arcee-ai/trinity-large-thinking", @@ -12029,6 +13442,23 @@ export const MODELS = { contextWindow: 262100, maxTokens: 80000, } satisfies Model<"anthropic-messages">, + "arcee-ai/trinity-mini": { + id: "arcee-ai/trinity-mini", + name: "Trinity Mini", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: false, + input: ["text"], + cost: { + input: 0.045, + output: 0.15, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 131072, + } satisfies Model<"anthropic-messages">, "bytedance/seed-1.6": { id: "bytedance/seed-1.6", name: "Seed 1.6", @@ -12036,7 +13466,7 @@ export const MODELS = { provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", reasoning: true, - input: ["text"], + input: ["text", "image"], cost: { input: 0.25, output: 2, @@ -12046,6 +13476,23 @@ export const MODELS = { contextWindow: 256000, maxTokens: 32000, } satisfies Model<"anthropic-messages">, + "bytedance/seed-1.8": { + id: "bytedance/seed-1.8", + name: "Bytedance Seed 1.8", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.25, + output: 2, + cacheRead: 0.049999999999999996, + cacheWrite: 0, + }, + contextWindow: 256000, + maxTokens: 64000, + } satisfies Model<"anthropic-messages">, "cohere/command-a": { id: "cohere/command-a", name: "Command A", @@ -12106,13 +13553,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.56, - output: 1.68, - cacheRead: 0.28, + input: 0.25, + output: 0.95, + cacheRead: 0.13, cacheWrite: 0, }, contextWindow: 163840, - maxTokens: 8192, + maxTokens: 128000, } satisfies Model<"anthropic-messages">, "deepseek/deepseek-v3.1-terminus": { id: "deepseek/deepseek-v3.1-terminus", @@ -12137,8 +13584,8 @@ export const MODELS = { api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", - reasoning: true, - input: ["text", "image"], + reasoning: false, + input: ["text"], cost: { input: 0.28, output: 0.42, @@ -12155,7 +13602,7 @@ export const MODELS = { provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", reasoning: true, - input: ["text", "image"], + input: ["text"], cost: { input: 0.62, output: 1.85, @@ -12172,11 +13619,11 @@ export const MODELS = { provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", reasoning: true, - input: ["text", "image"], + input: ["text"], cost: { input: 0.14, output: 0.28, - cacheRead: 0.0028, + cacheRead: 0.028, cacheWrite: 0, }, contextWindow: 1000000, @@ -12375,7 +13822,7 @@ export const MODELS = { api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", - reasoning: false, + reasoning: true, input: ["text", "image"], cost: { input: 0.14, @@ -12420,6 +13867,57 @@ export const MODELS = { contextWindow: 32000, maxTokens: 16384, } satisfies Model<"anthropic-messages">, + "interfaze/interfaze-beta": { + id: "interfaze/interfaze-beta", + name: "Interfaze Beta", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1.5, + output: 3.5, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 1000000, + maxTokens: 32000, + } satisfies Model<"anthropic-messages">, + "kwaipilot/kat-coder-air-v2.5": { + id: "kwaipilot/kat-coder-air-v2.5", + name: "Kat Coder Air V2.5", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text"], + cost: { + input: 0.15, + output: 0.6, + cacheRead: 0.03, + cacheWrite: 0, + }, + contextWindow: 256000, + maxTokens: 80000, + } satisfies Model<"anthropic-messages">, + "kwaipilot/kat-coder-pro-v1": { + id: "kwaipilot/kat-coder-pro-v1", + name: "KAT-Coder-Pro V1", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: false, + input: ["text"], + cost: { + input: 0.3, + output: 1.2, + cacheRead: 0.06, + cacheWrite: 0, + }, + contextWindow: 256000, + maxTokens: 32000, + } satisfies Model<"anthropic-messages">, "kwaipilot/kat-coder-pro-v2": { id: "kwaipilot/kat-coder-pro-v2", name: "Kat Coder Pro V2", @@ -12437,22 +13935,22 @@ export const MODELS = { contextWindow: 256000, maxTokens: 256000, } satisfies Model<"anthropic-messages">, - "meituan/longcat-flash-chat": { - id: "meituan/longcat-flash-chat", - name: "LongCat Flash Chat", + "kwaipilot/kat-coder-pro-v2.5": { + id: "kwaipilot/kat-coder-pro-v2.5", + name: "Kat Coder Pro V2.5", api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", - reasoning: false, + reasoning: true, input: ["text"], cost: { - input: 0, - output: 0, - cacheRead: 0, + input: 0.74, + output: 2.96, + cacheRead: 0.15, cacheWrite: 0, }, - contextWindow: 128000, - maxTokens: 100000, + contextWindow: 256000, + maxTokens: 80000, } satisfies Model<"anthropic-messages">, "meta/llama-3.1-70b": { id: "meta/llama-3.1-70b", @@ -12488,40 +13986,6 @@ export const MODELS = { contextWindow: 128000, maxTokens: 8192, } satisfies Model<"anthropic-messages">, - "meta/llama-3.2-11b": { - id: "meta/llama-3.2-11b", - name: "Llama 3.2 11B Vision Instruct", - api: "anthropic-messages", - provider: "vercel-ai-gateway", - baseUrl: "https://ai-gateway.vercel.sh", - reasoning: false, - input: ["text", "image"], - cost: { - input: 0.16, - output: 0.16, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 128000, - maxTokens: 8192, - } satisfies Model<"anthropic-messages">, - "meta/llama-3.2-90b": { - id: "meta/llama-3.2-90b", - name: "Llama 3.2 90B Vision Instruct", - api: "anthropic-messages", - provider: "vercel-ai-gateway", - baseUrl: "https://ai-gateway.vercel.sh", - reasoning: false, - input: ["text", "image"], - cost: { - input: 0.72, - output: 0.72, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 128000, - maxTokens: 8192, - } satisfies Model<"anthropic-messages">, "meta/llama-3.3-70b": { id: "meta/llama-3.3-70b", name: "Llama 3.3 70B Instruct", @@ -12573,6 +14037,23 @@ export const MODELS = { contextWindow: 128000, maxTokens: 8192, } satisfies Model<"anthropic-messages">, + "meta/muse-spark-1.1": { + id: "meta/muse-spark-1.1", + name: "Muse Spark 1.1", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1.25, + output: 4.25, + cacheRead: 0.15, + cacheWrite: 0, + }, + contextWindow: 1048576, + maxTokens: 1048576, + } satisfies Model<"anthropic-messages">, "minimax/minimax-m2": { id: "minimax/minimax-m2", name: "MiniMax M2", @@ -12743,34 +14224,68 @@ export const MODELS = { contextWindow: 256000, maxTokens: 256000, } satisfies Model<"anthropic-messages">, - "mistral/devstral-small": { - id: "mistral/devstral-small", - name: "Devstral Small 1.1", + "mistral/devstral-small-2": { + id: "mistral/devstral-small-2", + name: "Devstral Small 2", api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", reasoning: false, - input: ["text"], + input: ["text", "image"], cost: { input: 0.09999999999999999, output: 0.3, cacheRead: 0, cacheWrite: 0, }, + contextWindow: 256000, + maxTokens: 256000, + } satisfies Model<"anthropic-messages">, + "mistral/magistral-medium": { + id: "mistral/magistral-medium", + name: "Magistral Medium 2509", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 5, + cacheRead: 0, + cacheWrite: 0, + }, contextWindow: 128000, maxTokens: 64000, } satisfies Model<"anthropic-messages">, - "mistral/devstral-small-2": { - id: "mistral/devstral-small-2", - name: "Devstral Small 2", + "mistral/magistral-small": { + id: "mistral/magistral-small", + name: "Magistral Small 2509", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.5, + output: 1.5, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 128000, + maxTokens: 64000, + } satisfies Model<"anthropic-messages">, + "mistral/ministral-14b": { + id: "mistral/ministral-14b", + name: "Ministral 14B", api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", reasoning: false, - input: ["text"], + input: ["text", "image"], cost: { - input: 0.09999999999999999, - output: 0.3, + input: 0.19999999999999998, + output: 0.19999999999999998, cacheRead: 0, cacheWrite: 0, }, @@ -12808,8 +14323,25 @@ export const MODELS = { cacheRead: 0, cacheWrite: 0, }, - contextWindow: 128000, - maxTokens: 4000, + contextWindow: 128000, + maxTokens: 4000, + } satisfies Model<"anthropic-messages">, + "mistral/mistral-large-3": { + id: "mistral/mistral-large-3", + name: "Mistral Large 3", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.5, + output: 1.5, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 256000, + maxTokens: 256000, } satisfies Model<"anthropic-messages">, "mistral/mistral-medium": { id: "mistral/mistral-medium", @@ -12835,7 +14367,7 @@ export const MODELS = { provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", reasoning: true, - input: ["text"], + input: ["text", "image"], cost: { input: 1.5, output: 7.5, @@ -12896,23 +14428,6 @@ export const MODELS = { contextWindow: 128000, maxTokens: 4000, } satisfies Model<"anthropic-messages">, - "mistral/pixtral-large": { - id: "mistral/pixtral-large", - name: "Pixtral Large", - api: "anthropic-messages", - provider: "vercel-ai-gateway", - baseUrl: "https://ai-gateway.vercel.sh", - reasoning: false, - input: ["text", "image"], - cost: { - input: 2, - output: 6, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 128000, - maxTokens: 4000, - } satisfies Model<"anthropic-messages">, "moonshotai/kimi-k2": { id: "moonshotai/kimi-k2", name: "Kimi K2 Instruct", @@ -12939,13 +14454,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.6, - output: 2.5, - cacheRead: 0.15, + input: 0.47, + output: 2, + cacheRead: 0.14100000000000001, cacheWrite: 0, }, - contextWindow: 262114, - maxTokens: 262114, + contextWindow: 216144, + maxTokens: 216144, } satisfies Model<"anthropic-messages">, "moonshotai/kimi-k2.5": { id: "moonshotai/kimi-k2.5", @@ -13015,6 +14530,40 @@ export const MODELS = { contextWindow: 262144, maxTokens: 32768, } satisfies Model<"anthropic-messages">, + "moonshotai/kimi-k3": { + id: "moonshotai/kimi-k3", + name: "Kimi K3", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 3, + output: 15, + cacheRead: 0.3, + cacheWrite: 0, + }, + contextWindow: 1000000, + maxTokens: 131072, + } satisfies Model<"anthropic-messages">, + "nvidia/nemotron-3-nano-30b-a3b": { + id: "nvidia/nemotron-3-nano-30b-a3b", + name: "Nemotron 3 Nano 30B A3B", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text"], + cost: { + input: 0.049999999999999996, + output: 0.24, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 262144, + } satisfies Model<"anthropic-messages">, "nvidia/nemotron-3-super-120b-a12b": { id: "nvidia/nemotron-3-super-120b-a12b", name: "NVIDIA Nemotron 3 Super 120B A12B", @@ -13083,6 +14632,23 @@ export const MODELS = { contextWindow: 131072, maxTokens: 131072, } satisfies Model<"anthropic-messages">, + "openai/gpt-3.5-turbo": { + id: "openai/gpt-3.5-turbo", + name: "GPT-3.5 Turbo", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: false, + input: ["text"], + cost: { + input: 0.5, + output: 1.5, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 16385, + maxTokens: 4096, + } satisfies Model<"anthropic-messages">, "openai/gpt-4-turbo": { id: "openai/gpt-4-turbo", name: "GPT-4 Turbo", @@ -13208,7 +14774,7 @@ export const MODELS = { api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", - reasoning: true, + reasoning: false, input: ["text", "image"], cost: { input: 1.25, @@ -13344,7 +14910,7 @@ export const MODELS = { api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", - reasoning: true, + reasoning: false, input: ["text", "image"], cost: { input: 1.25, @@ -13395,7 +14961,7 @@ export const MODELS = { api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", - reasoning: true, + reasoning: false, input: ["text", "image"], cost: { input: 1.75, @@ -13446,7 +15012,7 @@ export const MODELS = { api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", - reasoning: true, + reasoning: false, input: ["text", "image"], cost: { input: 1.75, @@ -13576,6 +15142,57 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 128000, } satisfies Model<"anthropic-messages">, + "openai/gpt-5.6-luna": { + id: "openai/gpt-5.6-luna", + name: "GPT 5.6 Luna", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1, + output: 6, + cacheRead: 0.09999999999999999, + cacheWrite: 1.25, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"anthropic-messages">, + "openai/gpt-5.6-sol": { + id: "openai/gpt-5.6-sol", + name: "GPT 5.6 Sol", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 5, + output: 30, + cacheRead: 0.5, + cacheWrite: 6.25, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"anthropic-messages">, + "openai/gpt-5.6-terra": { + id: "openai/gpt-5.6-terra", + name: "GPT 5.6 Terra", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2.5, + output: 15, + cacheRead: 0.25, + cacheWrite: 3.125, + }, + contextWindow: 1050000, + maxTokens: 128000, + } satisfies Model<"anthropic-messages">, "openai/gpt-oss-120b": { id: "openai/gpt-oss-120b", name: "GPT OSS 120B", @@ -13585,13 +15202,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.35, - output: 0.75, - cacheRead: 0.25, + input: 0.09999999999999999, + output: 0.5, + cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 131000, + maxTokens: 131072, } satisfies Model<"anthropic-messages">, "openai/gpt-oss-20b": { id: "openai/gpt-oss-20b", @@ -13729,39 +15346,22 @@ export const MODELS = { contextWindow: 200000, maxTokens: 100000, } satisfies Model<"anthropic-messages">, - "perplexity/sonar": { - id: "perplexity/sonar", - name: "Sonar", - api: "anthropic-messages", - provider: "vercel-ai-gateway", - baseUrl: "https://ai-gateway.vercel.sh", - reasoning: false, - input: ["text", "image"], - cost: { - input: 0, - output: 0, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 127000, - maxTokens: 8000, - } satisfies Model<"anthropic-messages">, - "perplexity/sonar-pro": { - id: "perplexity/sonar-pro", - name: "Sonar Pro", + "sakana/fugu-ultra": { + id: "sakana/fugu-ultra", + name: "Fugu Ultra", api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", - reasoning: false, + reasoning: true, input: ["text", "image"], cost: { - input: 0, - output: 0, - cacheRead: 0, + input: 5, + output: 30, + cacheRead: 0.5, cacheWrite: 0, }, - contextWindow: 200000, - maxTokens: 8000, + contextWindow: 1000000, + maxTokens: 1000000, } satisfies Model<"anthropic-messages">, "stepfun/step-3.5-flash": { id: "stepfun/step-3.5-flash", @@ -13797,6 +15397,23 @@ export const MODELS = { contextWindow: 256000, maxTokens: 256000, } satisfies Model<"anthropic-messages">, + "thinkingmachines/inkling": { + id: "thinkingmachines/inkling", + name: "Inkling", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1, + output: 4.05, + cacheRead: 0.16999999999999998, + cacheWrite: 0, + }, + contextWindow: 256000, + maxTokens: 256000, + } satisfies Model<"anthropic-messages">, "xai/grok-4.1-fast-non-reasoning": { id: "xai/grok-4.1-fast-non-reasoning", name: "Grok 4.1 Fast Non-Reasoning", @@ -13950,56 +15567,39 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 1000000, } satisfies Model<"anthropic-messages">, - "xai/grok-build-0.1": { - id: "xai/grok-build-0.1", - name: "Grok Build 0.1", + "xai/grok-4.5": { + id: "xai/grok-4.5", + name: "Grok 4.5", api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", reasoning: true, input: ["text", "image"], cost: { - input: 1, - output: 2, - cacheRead: 0.19999999999999998, - cacheWrite: 0, - }, - contextWindow: 256000, - maxTokens: 256000, - } satisfies Model<"anthropic-messages">, - "xiaomi/mimo-v2-flash": { - id: "xiaomi/mimo-v2-flash", - name: "MiMo V2 Flash", - api: "anthropic-messages", - provider: "vercel-ai-gateway", - baseUrl: "https://ai-gateway.vercel.sh", - reasoning: true, - input: ["text"], - cost: { - input: 0.09999999999999999, - output: 0.3, - cacheRead: 0.01, + input: 2, + output: 6, + cacheRead: 0.5, cacheWrite: 0, }, - contextWindow: 262144, - maxTokens: 32000, + contextWindow: 500000, + maxTokens: 500000, } satisfies Model<"anthropic-messages">, - "xiaomi/mimo-v2-pro": { - id: "xiaomi/mimo-v2-pro", - name: "MiMo V2 Pro", + "xai/grok-build-0.1": { + id: "xai/grok-build-0.1", + name: "Grok Build 0.1", api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", reasoning: true, - input: ["text"], + input: ["text", "image"], cost: { input: 1, - output: 3, + output: 2, cacheRead: 0.19999999999999998, cacheWrite: 0, }, - contextWindow: 1000000, - maxTokens: 128000, + contextWindow: 256000, + maxTokens: 256000, } satisfies Model<"anthropic-messages">, "xiaomi/mimo-v2.5": { id: "xiaomi/mimo-v2.5", @@ -14025,7 +15625,7 @@ export const MODELS = { provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", reasoning: true, - input: ["text", "image"], + input: ["text"], cost: { input: 0.435, output: 0.87, @@ -14037,7 +15637,7 @@ export const MODELS = { } satisfies Model<"anthropic-messages">, "zai/glm-4.5": { id: "zai/glm-4.5", - name: "GLM-4.5", + name: "GLM 4.5", api: "anthropic-messages", provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", @@ -14146,13 +15746,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 2.25, - output: 2.75, - cacheRead: 2.25, + input: 0.6, + output: 2.2, + cacheRead: 0.12, cacheWrite: 0, }, - contextWindow: 131000, - maxTokens: 40000, + contextWindow: 200000, + maxTokens: 120000, } satisfies Model<"anthropic-messages">, "zai/glm-4.7-flash": { id: "zai/glm-4.7-flash", @@ -14197,8 +15797,8 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 1, - output: 3.1999999999999997, + input: 0.95, + output: 3.15, cacheRead: 0.19999999999999998, cacheWrite: 0, }, @@ -14229,15 +15829,15 @@ export const MODELS = { provider: "vercel-ai-gateway", baseUrl: "https://ai-gateway.vercel.sh", reasoning: true, - input: ["text", "image"], + input: ["text"], cost: { - input: 1.4, - output: 4.4, + input: 1.3, + output: 4.300000000000001, cacheRead: 0.26, cacheWrite: 0, }, - contextWindow: 202800, - maxTokens: 64000, + contextWindow: 202000, + maxTokens: 202000, } satisfies Model<"anthropic-messages">, "zai/glm-5.2": { id: "zai/glm-5.2", @@ -14248,9 +15848,26 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 1.5, - output: 4.5, - cacheRead: 0.3, + input: 1.4, + output: 4.4, + cacheRead: 0.26, + cacheWrite: 0, + }, + contextWindow: 1040000, + maxTokens: 128000, + } satisfies Model<"anthropic-messages">, + "zai/glm-5.2-fast": { + id: "zai/glm-5.2-fast", + name: "GLM 5.2 Fast", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text"], + cost: { + input: 2.0999999999999996, + output: 6.6000000000000005, + cacheRead: 0.21, cacheWrite: 0, }, contextWindow: 1000000, @@ -14326,6 +15943,23 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 30000, } satisfies Model<"openai-completions">, + "grok-4.5": { + id: "grok-4.5", + name: "Grok 4.5", + api: "openai-completions", + provider: "xai", + baseUrl: "https://api.x.ai/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 6, + cacheRead: 0.3, + cacheWrite: 0, + }, + contextWindow: 500000, + maxTokens: 500000, + } satisfies Model<"openai-completions">, "grok-build-0.1": { id: "grok-build-0.1", name: "Grok Build 0.1",