From 0d8ea01b431a14198d6458aa6c3d7c5adea87750 Mon Sep 17 00:00:00 2001 From: shumengya Date: Sun, 21 Jun 2026 19:41:28 +0800 Subject: [PATCH] chore: sync latest workspace updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新 AI 模型列表(models.generated.ts / image-models.generated.ts) - 新增 bmi-calculator.html Co-Authored-By: Claude Sonnet 4.6 --- bmi-calculator.html | 404 +++++++++++++++++++ packages/ai/src/image-models.generated.ts | 464 +++++++++++----------- packages/ai/src/models.generated.ts | 429 ++++++++++++++------ 3 files changed, 936 insertions(+), 361 deletions(-) create mode 100644 bmi-calculator.html diff --git a/bmi-calculator.html b/bmi-calculator.html new file mode 100644 index 00000000..4fd6a4b8 --- /dev/null +++ b/bmi-calculator.html @@ -0,0 +1,404 @@ + + + + + + BMI 指数计算器 + + + +
+

BMI 指数计算器

+

输入身高体重,快速了解你的身体质量指数

+ +
+ + +
+ +
+
+
+ + +
+
+ + +
+
+ + + + +
+ +
+
--
+
--
+
--
+ +
+ + + + +
+
+
+ 偏瘦 + 正常 + 偏胖 + 肥胖 +
+
+ +
+
偏瘦:BMI < 18.5
+
正常:18.5 ≤ BMI < 24
+
偏胖:24 ≤ BMI < 28
+
肥胖:BMI ≥ 28
+
+
+ + + + diff --git a/packages/ai/src/image-models.generated.ts b/packages/ai/src/image-models.generated.ts index 563f02a1..09c74180 100644 --- a/packages/ai/src/image-models.generated.ts +++ b/packages/ai/src/image-models.generated.ts @@ -4,21 +4,21 @@ import type { ImagesApi, ImagesModel } from "./types.ts"; export const IMAGE_MODELS = { - "openrouter": { + openrouter: { "black-forest-labs/flux.2-flex": { id: "black-forest-labs/flux.2-flex", name: "Black Forest Labs: FLUX.2 Flex", api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "black-forest-labs/flux.2-klein-4b": { id: "black-forest-labs/flux.2-klein-4b", @@ -26,14 +26,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "black-forest-labs/flux.2-max": { id: "black-forest-labs/flux.2-max", @@ -41,14 +41,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "black-forest-labs/flux.2-pro": { id: "black-forest-labs/flux.2-pro", @@ -56,14 +56,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "bytedance-seed/seedream-4.5": { id: "bytedance-seed/seedream-4.5", @@ -71,14 +71,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["image","text"], + input: ["image", "text"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "google/gemini-2.5-flash-image": { id: "google/gemini-2.5-flash-image", @@ -86,14 +86,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["image","text"], - output: ["image","text"], - cost: { - "input": 0.3, - "output": 2.5, - "cacheRead": 0.03, - "cacheWrite": 0.08333333333333334 - } + input: ["image", "text"], + output: ["image", "text"], + cost: { + input: 0.3, + output: 2.5, + cacheRead: 0.03, + cacheWrite: 0.08333333333333334, + }, } satisfies ImagesModel<"openrouter-images">, "google/gemini-3-pro-image-preview": { id: "google/gemini-3-pro-image-preview", @@ -101,14 +101,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["image","text"], - output: ["image","text"], - cost: { - "input": 2, - "output": 12, - "cacheRead": 0.19999999999999998, - "cacheWrite": 0.375 - } + input: ["image", "text"], + output: ["image", "text"], + cost: { + input: 2, + output: 12, + cacheRead: 0.19999999999999998, + cacheWrite: 0.375, + }, } satisfies ImagesModel<"openrouter-images">, "google/gemini-3.1-flash-image-preview": { id: "google/gemini-3.1-flash-image-preview", @@ -116,14 +116,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["image","text"], - output: ["image","text"], - cost: { - "input": 0.5, - "output": 3, - "cacheRead": 0, - "cacheWrite": 0 - } + input: ["image", "text"], + output: ["image", "text"], + cost: { + input: 0.5, + output: 3, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "microsoft/mai-image-2.5": { id: "microsoft/mai-image-2.5", @@ -131,14 +131,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 5, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 5, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "openai/gpt-5-image": { id: "openai/gpt-5-image", @@ -146,14 +146,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["image","text"], - output: ["image","text"], - cost: { - "input": 10, - "output": 10, - "cacheRead": 1.25, - "cacheWrite": 0 - } + input: ["image", "text"], + output: ["image", "text"], + cost: { + input: 10, + output: 10, + cacheRead: 1.25, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "openai/gpt-5-image-mini": { id: "openai/gpt-5-image-mini", @@ -161,14 +161,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["image","text"], - output: ["image","text"], - cost: { - "input": 2.5, - "output": 2, - "cacheRead": 0.25, - "cacheWrite": 0 - } + input: ["image", "text"], + output: ["image", "text"], + cost: { + input: 2.5, + output: 2, + cacheRead: 0.25, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "openai/gpt-5.4-image-2": { id: "openai/gpt-5.4-image-2", @@ -176,14 +176,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["image","text"], - output: ["image","text"], - cost: { - "input": 8, - "output": 15, - "cacheRead": 2, - "cacheWrite": 0 - } + input: ["image", "text"], + output: ["image", "text"], + cost: { + input: 8, + output: 15, + cacheRead: 2, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "openrouter/auto": { id: "openrouter/auto", @@ -191,14 +191,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], - output: ["text","image"], - cost: { - "input": -1000000, - "output": -1000000, - "cacheRead": 0, - "cacheWrite": 0 - } + input: ["text", "image"], + output: ["text", "image"], + cost: { + input: -1000000, + output: -1000000, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "recraft/recraft-v3": { id: "recraft/recraft-v3", @@ -206,14 +206,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "recraft/recraft-v4": { id: "recraft/recraft-v4", @@ -221,14 +221,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "recraft/recraft-v4-pro": { id: "recraft/recraft-v4-pro", @@ -236,14 +236,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "recraft/recraft-v4-pro-vector": { id: "recraft/recraft-v4-pro-vector", @@ -251,14 +251,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "recraft/recraft-v4-vector": { id: "recraft/recraft-v4-vector", @@ -266,14 +266,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "recraft/recraft-v4.1": { id: "recraft/recraft-v4.1", @@ -281,14 +281,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "recraft/recraft-v4.1-pro": { id: "recraft/recraft-v4.1-pro", @@ -296,14 +296,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "recraft/recraft-v4.1-pro-vector": { id: "recraft/recraft-v4.1-pro-vector", @@ -311,14 +311,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "recraft/recraft-v4.1-utility": { id: "recraft/recraft-v4.1-utility", @@ -326,14 +326,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "recraft/recraft-v4.1-utility-pro": { id: "recraft/recraft-v4.1-utility-pro", @@ -341,14 +341,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "recraft/recraft-v4.1-vector": { id: "recraft/recraft-v4.1-vector", @@ -356,14 +356,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "sourceful/riverflow-v2-fast": { id: "sourceful/riverflow-v2-fast", @@ -371,14 +371,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "sourceful/riverflow-v2-fast-preview": { id: "sourceful/riverflow-v2-fast-preview", @@ -386,14 +386,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "sourceful/riverflow-v2-max-preview": { id: "sourceful/riverflow-v2-max-preview", @@ -401,14 +401,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "sourceful/riverflow-v2-pro": { id: "sourceful/riverflow-v2-pro", @@ -416,14 +416,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "sourceful/riverflow-v2-standard-preview": { id: "sourceful/riverflow-v2-standard-preview", @@ -431,14 +431,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "sourceful/riverflow-v2.5-fast": { id: "sourceful/riverflow-v2.5-fast", @@ -446,14 +446,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "sourceful/riverflow-v2.5-pro": { id: "sourceful/riverflow-v2.5-pro", @@ -461,14 +461,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, "x-ai/grok-imagine-image-quality": { id: "x-ai/grok-imagine-image-quality", @@ -476,14 +476,14 @@ export const IMAGE_MODELS = { api: "openrouter-images", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", - input: ["text","image"], + input: ["text", "image"], output: ["image"], - cost: { - "input": 0, - "output": 0, - "cacheRead": 0, - "cacheWrite": 0 - } + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, } satisfies ImagesModel<"openrouter-images">, }, } as const satisfies Record>>; diff --git a/packages/ai/src/models.generated.ts b/packages/ai/src/models.generated.ts index 3a9d0031..9eab1b2c 100644 --- a/packages/ai/src/models.generated.ts +++ b/packages/ai/src/models.generated.ts @@ -3733,6 +3733,24 @@ export const MODELS = { contextWindow: 131072, maxTokens: 131072, } satisfies Model<"openai-completions">, + "@cf/zai-org/glm-5.2": { + id: "@cf/zai-org/glm-5.2", + name: "Glm 5.2", + api: "openai-completions", + provider: "cloudflare-workers-ai", + baseUrl: "https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1", + compat: {"sendSessionAffinityHeaders":true}, + reasoning: true, + input: ["text"], + cost: { + input: 1.4, + output: 4.4, + cacheRead: 0.26, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 262144, + } satisfies Model<"openai-completions">, }, "deepseek": { "deepseek-v4-flash": { @@ -3787,7 +3805,7 @@ export const MODELS = { cost: { input: 0.14, output: 0.28, - cacheRead: 0.03, + cacheRead: 0.028, cacheWrite: 0, }, contextWindow: 1000000, @@ -3829,6 +3847,24 @@ export const MODELS = { contextWindow: 202800, maxTokens: 131072, } satisfies Model<"anthropic-messages">, + "accounts/fireworks/models/glm-5p2": { + id: "accounts/fireworks/models/glm-5p2", + name: "GLM 5.2", + api: "anthropic-messages", + provider: "fireworks", + baseUrl: "https://api.fireworks.ai/inference", + compat: {"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}, + reasoning: true, + input: ["text"], + cost: { + input: 1.4, + output: 4.4, + cacheRead: 0.26, + cacheWrite: 0, + }, + contextWindow: 1048576, + maxTokens: 131072, + } satisfies Model<"anthropic-messages">, "accounts/fireworks/models/gpt-oss-120b": { id: "accounts/fireworks/models/gpt-oss-120b", name: "GPT OSS 120B", @@ -4019,7 +4055,7 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 2, + input: 1.9, output: 8, cacheRead: 0.38, cacheWrite: 0, @@ -4444,25 +4480,6 @@ export const MODELS = { contextWindow: 400000, maxTokens: 128000, } satisfies Model<"openai-responses">, - "raptor-mini": { - id: "raptor-mini", - name: "Raptor mini", - 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.25, - output: 2, - cacheRead: 0.025, - cacheWrite: 0, - }, - contextWindow: 400000, - maxTokens: 128000, - } satisfies Model<"openai-completions">, }, "google": { "gemini-2.0-flash": { @@ -4746,42 +4763,6 @@ export const MODELS = { contextWindow: 262144, maxTokens: 32768, } satisfies Model<"google-generative-ai">, - "gemma-4-E2B-it": { - id: "gemma-4-E2B-it", - name: "Gemma 4 E2B IT", - api: "google-generative-ai", - provider: "google", - baseUrl: "https://generativelanguage.googleapis.com/v1beta", - reasoning: true, - thinkingLevelMap: {"off":null,"minimal":"MINIMAL","low":null,"medium":null,"high":"HIGH"}, - input: ["text", "image"], - cost: { - input: 0, - output: 0, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 131072, - maxTokens: 8192, - } satisfies Model<"google-generative-ai">, - "gemma-4-E4B-it": { - id: "gemma-4-E4B-it", - name: "Gemma 4 E4B IT", - api: "google-generative-ai", - provider: "google", - baseUrl: "https://generativelanguage.googleapis.com/v1beta", - reasoning: true, - thinkingLevelMap: {"off":null,"minimal":"MINIMAL","low":null,"medium":null,"high":"HIGH"}, - input: ["text", "image"], - cost: { - input: 0, - output: 0, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 131072, - maxTokens: 8192, - } satisfies Model<"google-generative-ai">, }, "google-vertex": { "gemini-1.5-flash": { @@ -6315,6 +6296,24 @@ export const MODELS = { contextWindow: 262144, maxTokens: 262144, } satisfies Model<"openai-completions">, + "kimi-k2.7-code-highspeed": { + id: "kimi-k2.7-code-highspeed", + name: "Kimi K2.7 Code HighSpeed", + api: "openai-completions", + provider: "moonshotai", + baseUrl: "https://api.moonshot.ai/v1", + compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 1.9, + output: 8, + cacheRead: 0.38, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 262144, + } satisfies Model<"openai-completions">, }, "moonshotai-cn": { "kimi-k2-0711-preview": { @@ -6443,6 +6442,42 @@ export const MODELS = { contextWindow: 262144, maxTokens: 262144, } satisfies Model<"openai-completions">, + "kimi-k2.7-code": { + id: "kimi-k2.7-code", + name: "Kimi K2.7 Code", + api: "openai-completions", + provider: "moonshotai-cn", + baseUrl: "https://api.moonshot.cn/v1", + compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 0.95, + output: 4, + cacheRead: 0.19, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 262144, + } satisfies Model<"openai-completions">, + "kimi-k2.7-code-highspeed": { + id: "kimi-k2.7-code-highspeed", + name: "Kimi K2.7 Code HighSpeed", + api: "openai-completions", + provider: "moonshotai-cn", + baseUrl: "https://api.moonshot.cn/v1", + compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false}, + reasoning: true, + input: ["text", "image"], + cost: { + input: 1.9, + output: 8, + cacheRead: 0.38, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 262144, + } satisfies Model<"openai-completions">, }, "openai": { "gpt-4": { @@ -8110,23 +8145,6 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 384000, } satisfies Model<"openai-completions">, - "glm-5": { - id: "glm-5", - name: "GLM-5", - api: "openai-completions", - provider: "opencode-go", - baseUrl: "https://opencode.ai/zen/go/v1", - reasoning: true, - input: ["text"], - cost: { - input: 1, - output: 3.2, - cacheRead: 0.2, - cacheWrite: 0, - }, - contextWindow: 202752, - maxTokens: 32768, - } satisfies Model<"openai-completions">, "glm-5.1": { id: "glm-5.1", name: "GLM-5.1", @@ -8144,6 +8162,23 @@ export const MODELS = { contextWindow: 202752, maxTokens: 32768, } satisfies Model<"openai-completions">, + "glm-5.2": { + id: "glm-5.2", + name: "GLM-5.2", + api: "openai-completions", + provider: "opencode-go", + baseUrl: "https://opencode.ai/zen/go/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">, "kimi-k2.6": { id: "kimi-k2.6", name: "Kimi K2.6", @@ -8687,13 +8722,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.22, - output: 0.85, + input: 0.25, + output: 0.7999999999999999, cacheRead: 0.06, cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 262144, + maxTokens: 80000, } satisfies Model<"openai-completions">, "arcee-ai/trinity-mini": { id: "arcee-ai/trinity-mini", @@ -8848,6 +8883,23 @@ export const MODELS = { contextWindow: 128000, maxTokens: 4000, } satisfies Model<"openai-completions">, + "cohere/north-mini-code:free": { + id: "cohere/north-mini-code:free", + name: "Cohere: North Mini Code (free)", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text"], + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 256000, + maxTokens: 64000, + } satisfies Model<"openai-completions">, "deepseek/deepseek-chat": { id: "deepseek/deepseek-chat", name: "DeepSeek: DeepSeek V3", @@ -9156,7 +9208,24 @@ export const MODELS = { cacheWrite: 0.08333333333333334, }, contextWindow: 1048576, - maxTokens: 65536, + maxTokens: 65535, + } satisfies Model<"openai-completions">, + "google/gemini-3-pro-image": { + id: "google/gemini-3-pro-image", + name: "Google: Nano Banana Pro (Gemini 3 Pro Image)", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 12, + cacheRead: 0.19999999999999998, + cacheWrite: 0.375, + }, + contextWindow: 65536, + maxTokens: 32768, } satisfies Model<"openai-completions">, "google/gemini-3.1-flash-lite": { id: "google/gemini-3.1-flash-lite", @@ -9343,7 +9412,7 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 32768, + maxTokens: 8192, } satisfies Model<"openai-completions">, "ibm-granite/granite-4.1-8b": { id: "ibm-granite/granite-4.1-8b", @@ -9448,6 +9517,23 @@ 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)", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text"], + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 32768, + maxTokens: 4096, + } satisfies Model<"openai-completions">, "meta-llama/llama-3.1-70b-instruct": { id: "meta-llama/llama-3.1-70b-instruct", name: "Meta: Llama 3.1 70B Instruct", @@ -10018,9 +10104,9 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.6799999999999999, - output: 3.41, - cacheRead: 0.33999999999999997, + input: 0.66, + output: 3.5, + cacheRead: 0.33, cacheWrite: 0, }, contextWindow: 262144, @@ -10035,9 +10121,9 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.75, - output: 3.5, - cacheRead: 0.16, + input: 0.612, + output: 3.0690000000000004, + cacheRead: 0.1296, cacheWrite: 0, }, contextWindow: 262144, @@ -10172,8 +10258,8 @@ export const MODELS = { input: ["text"], cost: { input: 0.5, - output: 2.5, - cacheRead: 0.15, + output: 2.2, + cacheRead: 0.09999999999999999, cacheWrite: 0, }, contextWindow: 1000000, @@ -10988,7 +11074,7 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 8192, + maxTokens: 32768, } satisfies Model<"openai-completions">, "openai/gpt-oss-safeguard-20b": { id: "openai/gpt-oss-safeguard-20b", @@ -11001,7 +11087,7 @@ export const MODELS = { cost: { input: 0.075, output: 0.3, - cacheRead: 0.037, + cacheRead: 0.0375, cacheWrite: 0, }, contextWindow: 131072, @@ -11211,6 +11297,23 @@ export const MODELS = { contextWindow: 1048756, maxTokens: 262144, } satisfies Model<"openai-completions">, + "poolside/laguna-m.1": { + id: "poolside/laguna-m.1", + name: "Poolside: Laguna M.1", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text"], + cost: { + input: 0.19999999999999998, + output: 0.39999999999999997, + cacheRead: 0.09999999999999999, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 32768, + } satisfies Model<"openai-completions">, "poolside/laguna-m.1:free": { id: "poolside/laguna-m.1:free", name: "Poolside: Laguna M.1 (free)", @@ -11228,6 +11331,23 @@ 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", + 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, + 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)", @@ -11279,6 +11399,23 @@ export const MODELS = { contextWindow: 131072, maxTokens: 16384, } satisfies Model<"openai-completions">, + "qwen/qwen-2.5-7b-instruct": { + id: "qwen/qwen-2.5-7b-instruct", + name: "Qwen: Qwen2.5 7B Instruct", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: false, + input: ["text"], + cost: { + input: 0.04, + output: 0.09999999999999999, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 32768, + } satisfies Model<"openai-completions">, "qwen/qwen-plus": { id: "qwen/qwen-plus", name: "Qwen: Qwen-Plus", @@ -11834,7 +11971,7 @@ export const MODELS = { cost: { input: 0.14, output: 1, - cacheRead: 0.049999999999999996, + cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, @@ -11849,13 +11986,13 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.39, - output: 2.34, + input: 0.385, + output: 2.4499999999999997, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 262144, - maxTokens: 65536, + contextWindow: 256000, + maxTokens: 4096, } satisfies Model<"openai-completions">, "qwen/qwen3.5-9b": { id: "qwen/qwen3.5-9b", @@ -11951,9 +12088,9 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.15, + input: 0.14, output: 1, - cacheRead: 0.049999999999999996, + cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, @@ -12248,23 +12385,6 @@ export const MODELS = { contextWindow: 256000, maxTokens: 4096, } satisfies Model<"openai-completions">, - "xiaomi/mimo-v2-flash": { - id: "xiaomi/mimo-v2-flash", - name: "Xiaomi: MiMo-V2-Flash", - api: "openai-completions", - provider: "openrouter", - baseUrl: "https://openrouter.ai/api/v1", - reasoning: true, - input: ["text"], - cost: { - input: 0.09999999999999999, - output: 0.3, - cacheRead: 0.01, - cacheWrite: 0, - }, - contextWindow: 262144, - maxTokens: 65536, - } satisfies Model<"openai-completions">, "xiaomi/mimo-v2.5": { id: "xiaomi/mimo-v2.5", name: "Xiaomi: MiMo-V2.5", @@ -12325,13 +12445,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.125, + input: 0.13, output: 0.85, - cacheRead: 0.06, + cacheRead: 0.024999999999999998, cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 131070, + maxTokens: 98304, } satisfies Model<"openai-completions">, "z-ai/glm-4.5v": { id: "z-ai/glm-4.5v", @@ -12463,11 +12583,28 @@ export const MODELS = { cost: { input: 0.98, output: 3.08, - cacheRead: 0.182, + cacheRead: 0.49, cacheWrite: 0, }, contextWindow: 202752, - maxTokens: 4096, + maxTokens: 65535, + } satisfies Model<"openai-completions">, + "z-ai/glm-5.2": { + id: "z-ai/glm-5.2", + name: "Z.ai: GLM 5.2", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text"], + cost: { + input: 1.2, + output: 4.1, + cacheRead: 0.19999999999999998, + cacheWrite: 0, + }, + contextWindow: 1048576, + maxTokens: 131072, } satisfies Model<"openai-completions">, "~anthropic/claude-fable-latest": { id: "~anthropic/claude-fable-latest", @@ -12580,9 +12717,9 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.6799999999999999, - output: 3.41, - cacheRead: 0.33999999999999997, + input: 0.66, + output: 3.5, + cacheRead: 0.33, cacheWrite: 0, }, contextWindow: 262144, @@ -12765,8 +12902,8 @@ export const MODELS = { reasoning: false, input: ["text"], cost: { - input: 2.5, - output: 7.5, + input: 1.25, + output: 3.75, cacheRead: 0, cacheWrite: 0, }, @@ -14421,13 +14558,13 @@ export const MODELS = { reasoning: false, input: ["text"], cost: { - input: 0.02, - output: 0.04, + input: 0.15, + output: 0.15, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 131072, - maxTokens: 131072, + contextWindow: 128000, + maxTokens: 128000, } satisfies Model<"anthropic-messages">, "mistral/mistral-small": { id: "mistral/mistral-small", @@ -14565,6 +14702,23 @@ export const MODELS = { contextWindow: 256000, maxTokens: 32768, } satisfies Model<"anthropic-messages">, + "moonshotai/kimi-k2.7-code-highspeed": { + id: "moonshotai/kimi-k2.7-code-highspeed", + name: "Kimi K2.7 Code High Speed", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text", "image"], + cost: { + input: 1.9, + output: 8, + cacheRead: 0.38, + cacheWrite: 0, + }, + contextWindow: 262144, + maxTokens: 32768, + } satisfies Model<"anthropic-messages">, "nvidia/nemotron-3-super-120b-a12b": { id: "nvidia/nemotron-3-super-120b-a12b", name: "NVIDIA Nemotron 3 Super 120B A12B", @@ -15336,8 +15490,8 @@ export const MODELS = { cost: { input: 0.09, output: 0.3, - cacheRead: 0, - cacheWrite: 0.02, + cacheRead: 0.02, + cacheWrite: 0, }, contextWindow: 262114, maxTokens: 262114, @@ -15801,6 +15955,23 @@ export const MODELS = { contextWindow: 202800, maxTokens: 64000, } satisfies Model<"anthropic-messages">, + "zai/glm-5.2": { + id: "zai/glm-5.2", + name: "GLM 5.2", + api: "anthropic-messages", + provider: "vercel-ai-gateway", + baseUrl: "https://ai-gateway.vercel.sh", + reasoning: true, + input: ["text"], + cost: { + input: 1.5, + output: 4.5, + cacheRead: 0.3, + cacheWrite: 0, + }, + contextWindow: 1000000, + maxTokens: 128000, + } satisfies Model<"anthropic-messages">, "zai/glm-5v-turbo": { id: "zai/glm-5v-turbo", name: "GLM 5V Turbo",