diff --git a/.github/workflows/model-metadata-refresh.yml b/.github/workflows/model-metadata-refresh.yml new file mode 100644 index 0000000000..6d56cb513d --- /dev/null +++ b/.github/workflows/model-metadata-refresh.yml @@ -0,0 +1,102 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +name: Model metadata refresh + +# Nightly drift check: pull the current models.dev catalog, and if it differs from the +# committed snapshot (scripts/model-metadata/models-dev-api.snapshot.json), open a PR so +# a human reviews the diff. Running the refresh itself *is* the drift check — there is no +# separate comparison step, because refresh-then-diff already tells us exactly what +# upstream changed. check:model-metadata (run in CI) only ever verified the generated +# output against the committed snapshot, never the snapshot against upstream; this job is +# what keeps the snapshot itself from going stale between manual refreshes. +on: + schedule: + # Offset from the hour to reduce peak-time scheduling delays. + - cron: '41 5 * * *' + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: model-metadata-refresh + cancel-in-progress: false + +jobs: + refresh: + runs-on: ubuntu-latest + timeout-minutes: 20 + permissions: + contents: write + pull-requests: write + steps: + - name: Check out the repository + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: true + + - name: Set up Node.js + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + node-version: '24' + cache: npm + + - name: Install dependencies + run: npm ci --ignore-scripts + + - name: Refresh the models.dev snapshot + run: npm run refresh:model-metadata + + - name: Enforce the sanity floor + # Runs after the refresh so a degraded upstream response never reaches the diff + # or PR steps below, even though sync-model-metadata.mjs already refuses a + # refresh that would remove any previously committed projection path. + run: node scripts/check-model-metadata-floor.mjs + + - name: Check for a diff + id: diff + run: | + if git diff --quiet -- scripts/model-metadata packages/core/src/model-metadata.generated.ts packages/runtime/src/telemetry/model-pricing.generated.ts; then + echo "changed=false" >> "$GITHUB_OUTPUT" + else + echo "changed=true" >> "$GITHUB_OUTPUT" + fi + + - name: Open a pull request + if: steps.diff.outputs.changed == 'true' + env: + GH_TOKEN: ${{ github.token }} + run: | + set -euo pipefail + branch="automation/model-metadata-refresh-$(date -u +%Y%m%d)" + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git switch -c "$branch" + git add scripts/model-metadata packages/core/src/model-metadata.generated.ts packages/runtime/src/telemetry/model-pricing.generated.ts + git commit -m "chore(model-metadata): refresh models.dev snapshot" + git push origin "$branch" + existing="$(gh pr list --state open --head "$branch" --json number --jq '.[0].number' || true)" + if [ -n "$existing" ]; then + echo "PR #$existing already open for $branch" + exit 0 + fi + gh pr create \ + --title "chore(model-metadata): refresh models.dev snapshot" \ + --body "Automated nightly refresh of the models.dev catalog snapshot. Review the diff under scripts/model-metadata and the two generated files before merging; sync:model-metadata's shrink guard already blocks any refresh that would silently drop a previously committed model or capability." \ + --base main \ + --head "$branch" diff --git a/scripts/check-model-metadata-floor.mjs b/scripts/check-model-metadata-floor.mjs new file mode 100644 index 0000000000..2d926a2ee4 --- /dev/null +++ b/scripts/check-model-metadata-floor.mjs @@ -0,0 +1,82 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +// Sanity floor for a freshly refreshed model-metadata snapshot. sync-model-metadata.mjs +// already refuses a refresh that would remove any previously committed projection path +// (see assertProjectionDoesNotShrink), which enforces a per-provider, per-model floor. +// This check adds the one thing that misses: a models.dev response that is well-formed +// per-provider but truncated or empty overall (e.g. an outage returning a near-empty but +// schema-valid payload) would still pass that check if it happened to contain no removals +// relative to an already-small snapshot. A floor on the total model count catches that. + +import { readFile } from 'node:fs/promises'; +import { pathToFileURL } from 'node:url'; +import { PROVIDERS } from './sync-model-metadata.mjs'; + +const DEFAULT_SNAPSHOT = 'scripts/model-metadata/models-dev-api.snapshot.json'; +// Set comfortably below the committed count at the time this floor was introduced +// (1871 models across 47 providers) so ordinary upstream churn never trips it, while +// a mostly-empty response still does. +const MIN_TOTAL_MODELS = 1500; + +export async function main(argv = process.argv) { + const snapshotPath = option('--snapshot', argv) ?? DEFAULT_SNAPSHOT; + const snapshot = JSON.parse(await readFile(snapshotPath, 'utf8')); + const metadata = snapshot?.projection?.metadata; + if (!metadata || typeof metadata !== 'object' || Array.isArray(metadata)) { + throw new Error(`${snapshotPath} has no projection.metadata object`); + } + + const requiredProviders = Object.keys(PROVIDERS); + const missingProviders = requiredProviders.filter( + (providerType) => !metadata[providerType] || Object.keys(metadata[providerType]).length === 0, + ); + if (missingProviders.length > 0) { + throw new Error( + `model-metadata snapshot is missing models for required provider(s): ${missingProviders.join(', ')}`, + ); + } + + const totalModels = Object.values(metadata).reduce( + (sum, models) => sum + Object.keys(models).length, + 0, + ); + if (totalModels < MIN_TOTAL_MODELS) { + throw new Error( + `model-metadata snapshot has ${totalModels} total models, below the floor of ${MIN_TOTAL_MODELS}; ` + + 'this likely means the models.dev response was truncated or degraded', + ); + } + + console.log( + `model-metadata sanity floor passed: ${totalModels} models across ${requiredProviders.length} providers`, + ); +} + +function option(name, argv) { + const index = argv.indexOf(name); + if (index === -1) return undefined; + const value = argv[index + 1]; + if (!value || value.startsWith('--')) throw new Error(`${name} requires a value`); + return value; +} + +if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) { + await main(); +} diff --git a/scripts/model-metadata/models-dev-api.snapshot.json b/scripts/model-metadata/models-dev-api.snapshot.json index 34667f1fcc..4ee8ebe350 100644 --- a/scripts/model-metadata/models-dev-api.snapshot.json +++ b/scripts/model-metadata/models-dev-api.snapshot.json @@ -2,10 +2,12 @@ "formatVersion": 1, "sourceUrl": "https://models.dev/api.json", "origin": { - "kind": "generated-output-migration", - "commit": "729839ed8ada3e5498b0ad27e64fb42dfd283ae7" + "kind": "models-dev-response", + "retrievedAt": "2026-09-01T00:47:09.000Z", + "etag": "W/\"2d4b48020d170517e16482364f5bb859\"", + "responseSha256": "2d4b48020d170517e16482364f5bb859065a5de55208b91b03404361f70328ae" }, - "projectionSha256": "6957e4d11c649fa77dc33474bd67390a28d290c994f34dabac23f539b5f59149", + "projectionSha256": "21eedd7164b1d9dc2f877a10b0107038a0496688afc4ba4c553b5ed31f589b3a", "projection": { "metadata": { "anthropic": { @@ -1356,6 +1358,29 @@ "output": ["text"] } }, + "qwen3.8-flash": { + "displayName": "Qwen3.8 Flash", + "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks", + "lifecycle": "active", + "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "medium", "xhigh"], + "toggle": true + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "qwen3.8-max": { "displayName": "Qwen3.8 Max", "description": "2.4-trillion-parameter MoE flagship for coding, professional work, multimodal understanding, and long-horizon agentic workflows", @@ -1462,6 +1487,7 @@ "contextWindow": 32768, "maxOutputTokens": 16384, "lastUpdated": "2025-01-01", + "isFree": true, "capabilities": { "vision": false, "reasoning": true, @@ -1480,6 +1506,7 @@ "contextWindow": 32768, "maxOutputTokens": 16384, "lastUpdated": "2025-01-01", + "isFree": true, "capabilities": { "vision": false, "reasoning": true, @@ -2951,6 +2978,29 @@ "output": ["text"] } }, + "qwen3.8-flash": { + "displayName": "Qwen3.8 Flash", + "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks", + "lifecycle": "active", + "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "medium", "xhigh"], + "toggle": true + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "qwen3.8-max": { "displayName": "Qwen3.8 Max", "description": "2.4-trillion-parameter MoE flagship for coding, professional work, multimodal understanding, and long-horizon agentic workflows", @@ -3745,7 +3795,7 @@ "contextWindow": 1000000, "maxOutputTokens": 384000, "structuredOutput": true, - "lastUpdated": "2026-08-12", + "lastUpdated": "2026-08-22", "isFree": true, "capabilities": { "vision": false, @@ -4111,6 +4161,30 @@ "output": ["text"] } }, + "qwen3.8-flash": { + "displayName": "Qwen3.8 Flash", + "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks", + "lifecycle": "active", + "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "isFree": true, + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "medium", "xhigh"], + "toggle": true + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "qwen3.8-max": { "displayName": "Qwen3.8 Max", "description": "2.4-trillion-parameter MoE flagship for coding, professional work, multimodal understanding, and long-horizon agentic workflows", @@ -4305,7 +4379,7 @@ "contextWindow": 1000000, "maxOutputTokens": 384000, "structuredOutput": true, - "lastUpdated": "2026-08-12", + "lastUpdated": "2026-08-22", "isFree": true, "capabilities": { "vision": false, @@ -4671,6 +4745,30 @@ "output": ["text"] } }, + "qwen3.8-flash": { + "displayName": "Qwen3.8 Flash", + "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks", + "lifecycle": "active", + "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "isFree": true, + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "medium", "xhigh"], + "toggle": true + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "qwen3.8-max": { "displayName": "Qwen3.8 Max", "description": "2.4-trillion-parameter MoE flagship for coding, professional work, multimodal understanding, and long-horizon agentic workflows", @@ -5151,7 +5249,7 @@ "contextWindow": 1048576, "maxOutputTokens": 1048576, "structuredOutput": true, - "lastUpdated": "2026-08-12", + "lastUpdated": "2026-08-22", "capabilities": { "vision": false, "reasoning": true, @@ -5606,6 +5704,48 @@ "input": ["text"], "output": ["text"] } + }, + "@cf/zai-org/glm-5.3": { + "displayName": "Glm 5.3", + "description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering", + "lifecycle": "active", + "docsUrl": "https://developers.cloudflare.com/workers-ai/models/", + "contextWindow": 1310720, + "maxOutputTokens": 1310720, + "structuredOutput": true, + "lastUpdated": "2026-08-14", + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "medium", "high"], + "toggle": true + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, + "@cf/zai-org/glm-5.3-flash": { + "displayName": "Glm 5.3 Flash", + "description": "GLM vision model for visual reasoning, documents, and multimodal agents", + "lifecycle": "active", + "docsUrl": "https://developers.cloudflare.com/workers-ai/models/", + "contextWindow": 1310720, + "maxOutputTokens": 1048576, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } } }, "deepinfra": { @@ -5851,7 +5991,7 @@ "contextWindow": 1048576, "maxOutputTokens": 384000, "structuredOutput": true, - "lastUpdated": "2026-08-12", + "lastUpdated": "2026-08-22", "capabilities": { "vision": false, "reasoning": true, @@ -6032,7 +6172,7 @@ "lifecycle": "active", "docsUrl": "https://deepinfra.com/models", "contextWindow": 524288, - "maxOutputTokens": 128000, + "maxOutputTokens": 512000, "structuredOutput": true, "lastUpdated": "2026-06-01", "capabilities": { @@ -6850,47 +6990,53 @@ "input": ["text"], "output": ["text"] } - } - }, - "deepseek": { - "deepseek-chat": { - "displayName": "DeepSeek Chat", - "description": "DeepSeek chat model for instruction following, coding, and analysis", + }, + "zai-org/GLM-5.3": { + "displayName": "GLM-5.3", + "description": "Flagship GLM model for long-horizon coding, agents, and complex project delivery", "lifecycle": "active", - "docsUrl": "https://api-docs.deepseek.com/quick_start/pricing", - "contextWindow": 1000000, - "maxOutputTokens": 384000, - "knowledgeCutoff": "2025-09", - "lastUpdated": "2026-02-28", + "docsUrl": "https://deepinfra.com/models", + "contextWindow": 1048576, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-14", "capabilities": { "vision": false, - "reasoning": false, + "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, "modalities": { "input": ["text"], "output": ["text"] } }, - "deepseek-reasoner": { - "displayName": "DeepSeek Reasoner", - "description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools", + "zai-org/GLM-5.3-Flash": { + "displayName": "GLM-5.3-Flash", + "description": "Native multimodal GLM model for efficient coding and long-horizon agent tasks", "lifecycle": "active", - "docsUrl": "https://api-docs.deepseek.com/quick_start/pricing", - "contextWindow": 1000000, - "maxOutputTokens": 384000, - "knowledgeCutoff": "2025-09", - "lastUpdated": "2026-02-28", + "docsUrl": "https://deepinfra.com/models", + "contextWindow": 1048576, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", "capabilities": { - "vision": false, + "vision": true, "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, "modalities": { - "input": ["text"], + "input": ["text", "image", "pdf"], "output": ["text"] } - }, + } + }, + "deepseek": { "deepseek-v4-flash": { "displayName": "DeepSeek V4 Flash", "description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding", @@ -6915,41 +7061,38 @@ "output": ["text"] } }, - "deepseek-v4-pro": { - "displayName": "DeepSeek V4 Pro", - "description": "DeepSeek V4 Pro snapshot with million-token context and support for thinking and non-thinking modes", - "lifecycle": "active", + "deepseek-v4-flash-vision-exp": { + "displayName": "DeepSeek V4 Flash Vision Exp", + "description": "Experimental multimodal DeepSeek V4 Flash model for image understanding, coding, and agentic work", + "lifecycle": "beta", "docsUrl": "https://api-docs.deepseek.com/quick_start/pricing", "contextWindow": 1000000, "maxOutputTokens": 384000, "structuredOutput": true, - "lastUpdated": "2026-08-12", + "lastUpdated": "2026-08-21", "capabilities": { - "vision": false, + "vision": true, "reasoning": true, "functionCalling": true }, "thinkingOptions": { - "efforts": ["high", "max"], + "efforts": ["low", "high", "max"], "toggle": true }, "modalities": { - "input": ["text"], + "input": ["text", "image"], "output": ["text"] } - } - }, - "fireworks-ai": { - "accounts/fireworks/models/deepseek-v4-flash": { - "displayName": "DeepSeek V4 Flash", - "description": "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work", + }, + "deepseek-v4-pro": { + "displayName": "DeepSeek V4 Pro", + "description": "DeepSeek V4 Pro snapshot with million-token context and support for thinking and non-thinking modes", "lifecycle": "active", - "docsUrl": "https://fireworks.ai/docs/", + "docsUrl": "https://api-docs.deepseek.com/quick_start/pricing", "contextWindow": 1000000, "maxOutputTokens": 384000, - "knowledgeCutoff": "2025-05", "structuredOutput": true, - "lastUpdated": "2026-06-16", + "lastUpdated": "2026-08-22", "capabilities": { "vision": false, "reasoning": true, @@ -6963,7 +7106,9 @@ "input": ["text"], "output": ["text"] } - }, + } + }, + "fireworks-ai": { "accounts/fireworks/models/deepseek-v4-flash-0731": { "displayName": "DeepSeek V4 Flash 0731", "description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding", @@ -6988,16 +7133,15 @@ "output": ["text"] } }, - "accounts/fireworks/models/deepseek-v4-pro": { - "displayName": "DeepSeek V4 Pro", - "description": "Open MoE flagship with million-token context for coding and long agent runs", + "accounts/fireworks/models/deepseek-v4-pro-0813": { + "displayName": "DeepSeek V4 Pro 0813", + "description": "DeepSeek V4 Pro snapshot with million-token context and support for thinking and non-thinking modes", "lifecycle": "active", "docsUrl": "https://fireworks.ai/docs/", "contextWindow": 1000000, "maxOutputTokens": 384000, - "knowledgeCutoff": "2025-05", "structuredOutput": true, - "lastUpdated": "2026-04-24", + "lastUpdated": "2026-08-22", "capabilities": { "vision": false, "reasoning": true, @@ -7012,15 +7156,14 @@ "output": ["text"] } }, - "accounts/fireworks/models/deepseek-v4-pro-0813": { - "displayName": "DeepSeek V4 Pro 0813", - "description": "DeepSeek V4 Pro snapshot with million-token context and support for thinking and non-thinking modes", + "accounts/fireworks/models/glm-5p2": { + "displayName": "GLM 5.2", + "description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering", "lifecycle": "active", "docsUrl": "https://fireworks.ai/docs/", - "contextWindow": 1000000, - "maxOutputTokens": 384000, - "structuredOutput": true, - "lastUpdated": "2026-08-12", + "contextWindow": 1048575, + "maxOutputTokens": 131072, + "lastUpdated": "2026-06-16", "capabilities": { "vision": false, "reasoning": true, @@ -7035,57 +7178,58 @@ "output": ["text"] } }, - "accounts/fireworks/models/glm-5p2": { - "displayName": "GLM 5.2", - "description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering", + "accounts/fireworks/models/glm-5p3": { + "displayName": "GLM 5.3", + "description": "Flagship GLM model for long-horizon coding, agents, and complex project delivery", "lifecycle": "active", "docsUrl": "https://fireworks.ai/docs/", - "contextWindow": 1048575, + "contextWindow": 1000000, "maxOutputTokens": 131072, - "lastUpdated": "2026-06-16", + "structuredOutput": true, + "lastUpdated": "2026-08-28", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "thinkingOptions": { - "efforts": ["high", "max"], - "toggle": true + "efforts": ["high", "max"] }, "modalities": { "input": ["text"], "output": ["text"] } }, - "accounts/fireworks/models/gpt-oss-120b": { - "displayName": "GPT OSS 120B", - "description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads", + "accounts/fireworks/models/glm-5p3-flash": { + "displayName": "GLM 5.3 Flash", + "description": "Native multimodal GLM model for efficient coding and long-horizon agent tasks", "lifecycle": "active", "docsUrl": "https://fireworks.ai/docs/", - "contextWindow": 131072, - "maxOutputTokens": 32768, - "lastUpdated": "2026-06-16", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", "capabilities": { - "vision": false, + "vision": true, "reasoning": true, "functionCalling": true }, "thinkingOptions": { - "efforts": ["low", "medium", "high"] + "efforts": ["high", "max"] }, "modalities": { - "input": ["text"], + "input": ["text", "image", "pdf"], "output": ["text"] } }, - "accounts/fireworks/models/gpt-oss-20b": { - "displayName": "GPT OSS 20B", + "accounts/fireworks/models/gpt-oss-120b": { + "displayName": "GPT OSS 120B", "description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads", "lifecycle": "active", "docsUrl": "https://fireworks.ai/docs/", "contextWindow": 131072, "maxOutputTokens": 32768, - "lastUpdated": "2025-08-05", + "lastUpdated": "2026-06-16", "capabilities": { "vision": false, "reasoning": true, @@ -7182,27 +7326,6 @@ "output": ["text"] } }, - "accounts/fireworks/models/minimax-m2p7": { - "displayName": "MiniMax-M2.7", - "description": "MiniMax model for chat, coding, office work, and agentic tasks", - "lifecycle": "active", - "docsUrl": "https://fireworks.ai/docs/", - "contextWindow": 196608, - "maxOutputTokens": 196608, - "lastUpdated": "2026-04-12", - "capabilities": { - "vision": false, - "reasoning": true, - "functionCalling": true - }, - "thinkingOptions": { - "efforts": ["low", "medium", "high"] - }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, "accounts/fireworks/models/minimax-m3": { "displayName": "MiniMax-M3", "description": "MiniMax multimodal coding model for long-context reasoning and agent tasks", @@ -7355,69 +7478,6 @@ "output": ["text"] } }, - "accounts/fireworks/routers/kimi-k2p6-fast": { - "displayName": "Kimi K2.6 Fast", - "description": "Kimi reasoning model for long-horizon research, planning, and tool use", - "lifecycle": "active", - "docsUrl": "https://fireworks.ai/docs/", - "contextWindow": 262000, - "maxOutputTokens": 262000, - "lastUpdated": "2026-06-05", - "capabilities": { - "vision": true, - "reasoning": true, - "functionCalling": true - }, - "thinkingOptions": { - "toggle": true - }, - "modalities": { - "input": ["text", "image"], - "output": ["text"] - } - }, - "accounts/fireworks/routers/kimi-k2p6-turbo": { - "displayName": "Kimi K2.6 Turbo", - "description": "Kimi reasoning model for long-horizon research, planning, and tool use", - "lifecycle": "active", - "docsUrl": "https://fireworks.ai/docs/", - "contextWindow": 262000, - "maxOutputTokens": 262000, - "lastUpdated": "2026-04-17", - "capabilities": { - "vision": true, - "reasoning": true, - "functionCalling": true - }, - "thinkingOptions": { - "toggle": true - }, - "modalities": { - "input": ["text", "image"], - "output": ["text"] - } - }, - "accounts/fireworks/routers/kimi-k2p7-code-fast": { - "displayName": "Kimi K2.7 Code Fast", - "description": "Kimi coding model for software agents, refactors, and repository reasoning", - "lifecycle": "active", - "docsUrl": "https://fireworks.ai/docs/", - "contextWindow": 262000, - "maxOutputTokens": 262000, - "lastUpdated": "2026-06-16", - "capabilities": { - "vision": true, - "reasoning": true, - "functionCalling": true - }, - "thinkingOptions": { - "toggle": true - }, - "modalities": { - "input": ["text", "image"], - "output": ["text"] - } - }, "accounts/fireworks/routers/kimi-k3-fast": { "displayName": "Kimi K3 Fast", "description": "Multimodal Kimi model with 1M context and toggleable max-effort thinking for long-horizon agent work", @@ -8852,29 +8912,6 @@ "output": [] } }, - "gemini-robotics-er-1.6-preview": { - "displayName": "Gemini Robotics-ER 1.6 Preview", - "description": "Vision-language model for embodied reasoning: spatial understanding, task planning, and physical-world agentic robotics", - "lifecycle": "active", - "docsUrl": "https://ai.google.dev/gemini-api/docs/models", - "contextWindow": 131072, - "maxOutputTokens": 65536, - "knowledgeCutoff": "2025-01", - "structuredOutput": true, - "lastUpdated": "2026-04-14", - "capabilities": { - "vision": true, - "reasoning": true, - "functionCalling": true - }, - "thinkingOptions": { - "toggle": true - }, - "modalities": { - "input": ["text", "image", "audio"], - "output": ["text"] - } - }, "gemma-4-26b-a4b-it": { "displayName": "Gemma 4 26B A4B IT", "description": "Open Gemma instruction model for efficient chat and self-hosted deployments", @@ -9268,6 +9305,28 @@ "output": ["text"] } }, + "qwen/qwen3.8-27b": { + "displayName": "Qwen3.8 27B", + "description": "Dense 27B vision-language model for coding, agent tasks, and image and video understanding", + "lifecycle": "active", + "docsUrl": "https://console.groq.com/docs/models", + "contextWindow": 131042, + "maxOutputTokens": 16384, + "structuredOutput": true, + "lastUpdated": "2026-08-14", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["none", "default", "low", "medium", "high"] + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "whisper-large-v3": { "displayName": "Whisper", "description": "Speech transcription model for accurate audio-to-text and captioning workflows", @@ -9495,7 +9554,7 @@ "contextWindow": 1000000, "maxOutputTokens": 384000, "structuredOutput": true, - "lastUpdated": "2026-08-12", + "lastUpdated": "2026-08-22", "capabilities": { "vision": false, "reasoning": true, @@ -9593,7 +9652,7 @@ "lifecycle": "active", "docsUrl": "https://huggingface.co/docs/inference-providers", "contextWindow": 204800, - "maxOutputTokens": 128000, + "maxOutputTokens": 131072, "lastUpdated": "2025-10-27", "capabilities": { "vision": false, @@ -9667,7 +9726,7 @@ "lifecycle": "active", "docsUrl": "https://huggingface.co/docs/inference-providers", "contextWindow": 524288, - "maxOutputTokens": 128000, + "maxOutputTokens": 512000, "structuredOutput": true, "lastUpdated": "2026-06-01", "capabilities": { @@ -10312,6 +10371,28 @@ "output": ["text"] } }, + "Qwen/Qwen3.8-27B": { + "displayName": "Qwen3.8 27B", + "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks", + "lifecycle": "active", + "docsUrl": "https://huggingface.co/docs/inference-providers", + "contextWindow": 262144, + "maxOutputTokens": 32768, + "structuredOutput": true, + "lastUpdated": "2026-08-14", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "medium", "xhigh"] + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "stepfun-ai/Step-3.5-Flash": { "displayName": "Step 3.5 Flash", "description": "StepFun flash lane for quick multimodal reasoning and coding assistance", @@ -10672,6 +10753,50 @@ "input": ["text"], "output": ["text"] } + }, + "zai-org/GLM-5.3": { + "displayName": "GLM-5.3", + "description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering", + "lifecycle": "active", + "docsUrl": "https://huggingface.co/docs/inference-providers", + "contextWindow": 1048576, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-14", + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, + "zai-org/GLM-5.3-Flash": { + "displayName": "GLM-5.3-Flash", + "description": "Efficient GLM model for fast reasoning, coding, and agent workflows", + "lifecycle": "active", + "docsUrl": "https://huggingface.co/docs/inference-providers", + "contextWindow": 1048576, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } } }, "kimi-coding-plan": { @@ -10771,8 +10896,8 @@ "description": "Efficient open MiniMax model built for coding agents and tool-heavy workflows", "lifecycle": "active", "docsUrl": "https://platform.minimax.io/docs/guides/quickstart", - "contextWindow": 196608, - "maxOutputTokens": 128000, + "contextWindow": 204800, + "maxOutputTokens": 131072, "lastUpdated": "2025-10-27", "capabilities": { "vision": false, @@ -10879,8 +11004,8 @@ "description": "MiniMax multimodal model for long-context coding, perception, and agent planning", "lifecycle": "active", "docsUrl": "https://platform.minimax.io/docs/guides/quickstart", - "contextWindow": 1000000, - "maxOutputTokens": 128000, + "contextWindow": 1048576, + "maxOutputTokens": 512000, "lastUpdated": "2026-06-25", "capabilities": { "vision": true, @@ -10902,8 +11027,8 @@ "description": "MiniMax model for chat, coding, office work, and agentic tasks", "lifecycle": "active", "docsUrl": "https://platform.minimaxi.com/docs/guides/quickstart", - "contextWindow": 196608, - "maxOutputTokens": 128000, + "contextWindow": 204800, + "maxOutputTokens": 131072, "lastUpdated": "2025-10-27", "capabilities": { "vision": false, @@ -11010,8 +11135,8 @@ "description": "MiniMax multimodal coding model for long-context reasoning and agent tasks", "lifecycle": "active", "docsUrl": "https://platform.minimaxi.com/docs/guides/quickstart", - "contextWindow": 1000000, - "maxOutputTokens": 128000, + "contextWindow": 1048576, + "maxOutputTokens": 512000, "lastUpdated": "2026-06-25", "capabilities": { "vision": true, @@ -11033,8 +11158,8 @@ "description": "MiniMax model for chat, coding, office work, and agentic tasks", "lifecycle": "active", "docsUrl": "https://platform.minimax.io/docs/token-plan/intro", - "contextWindow": 196608, - "maxOutputTokens": 128000, + "contextWindow": 204800, + "maxOutputTokens": 131072, "lastUpdated": "2025-10-27", "isFree": true, "capabilities": { @@ -11147,8 +11272,8 @@ "description": "MiniMax multimodal coding model for long-context reasoning and agent tasks", "lifecycle": "active", "docsUrl": "https://platform.minimax.io/docs/token-plan/intro", - "contextWindow": 1000000, - "maxOutputTokens": 128000, + "contextWindow": 1048576, + "maxOutputTokens": 512000, "lastUpdated": "2026-06-25", "isFree": true, "capabilities": { @@ -11801,6 +11926,28 @@ "input": ["text", "audio"], "output": ["text"] } + }, + "zai-glm-5-2": { + "displayName": "GLM-5.2", + "description": "Open flagship GLM for long-horizon coding agents and million-token context work", + "lifecycle": "beta", + "docsUrl": "https://docs.mistral.ai/getting-started/models/", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-06-13", + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["high", "max"] + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } } }, "moonshot": { @@ -12172,6 +12319,30 @@ "output": ["text"] } }, + "deepseek-ai/deepseek-v4-flash-0731": { + "displayName": "DeepSeek V4 Flash 0731", + "description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding", + "lifecycle": "active", + "docsUrl": "https://docs.api.nvidia.com/nim/", + "contextWindow": 1000000, + "maxOutputTokens": 384000, + "knowledgeCutoff": "2025-05", + "structuredOutput": true, + "lastUpdated": "2026-07-31", + "isFree": true, + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["none", "high", "max"] + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, "deepseek-ai/deepseek-v4-pro": { "displayName": "DeepSeek V4 Pro", "description": "Open MoE flagship with million-token context for coding and long agent runs", @@ -12195,6 +12366,29 @@ "output": ["text"] } }, + "deepseek-ai/deepseek-v4-pro-0813": { + "displayName": "DeepSeek V4 Pro 0813", + "description": "DeepSeek V4 Pro snapshot with million-token context and support for thinking and non-thinking modes", + "lifecycle": "active", + "docsUrl": "https://docs.api.nvidia.com/nim/", + "contextWindow": 1000000, + "maxOutputTokens": 384000, + "structuredOutput": true, + "lastUpdated": "2026-08-22", + "isFree": true, + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["none", "high", "max"] + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, "google/gemma-2-2b-it": { "displayName": "Gemma 2 2b It", "description": "Open Gemma instruction model for efficient chat and self-hosted deployments", @@ -12912,6 +13106,30 @@ "output": ["text"] } }, + "moonshotai/kimi-k3": { + "displayName": "Kimi K3", + "description": "Multimodal Kimi model with 1M context and toggleable max-effort thinking for long-horizon agent work", + "lifecycle": "active", + "docsUrl": "https://docs.api.nvidia.com/nim/", + "contextWindow": 1048576, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-07-16", + "isFree": true, + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"], + "toggle": true + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "nvidia/active-speaker-detection": { "displayName": "Active Speaker Detection", "description": "Nemotron multimodal model for visual reasoning and agentic AI workflows", @@ -14180,6 +14398,50 @@ "output": ["text"] } }, + "glm-5.3": { + "displayName": "GLM-5.3", + "description": "Flagship GLM model for long-horizon coding, agents, and complex project delivery", + "lifecycle": "active", + "docsUrl": "https://docs.ollama.com/cloud", + "contextWindow": 1048576, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-14", + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, + "glm-5.3-flash": { + "displayName": "GLM-5.3-Flash", + "description": "Native multimodal GLM model for efficient coding and long-horizon agent tasks", + "lifecycle": "active", + "docsUrl": "https://docs.ollama.com/cloud", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + } + }, "gpt-oss:120b": { "displayName": "gpt-oss:120b", "description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads", @@ -16760,7 +17022,7 @@ "hy3-free": { "displayName": "Hy3 Free", "description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks", - "lifecycle": "active", + "lifecycle": "deprecated", "docsUrl": "https://opencode.ai/docs/zen", "contextWindow": 190000, "maxOutputTokens": 64000, @@ -16991,6 +17253,29 @@ "output": ["text"] } }, + "ling-3.0-flash-fin-free": { + "displayName": "Ling 3.0 Flash Fin Free", + "description": "Finance-enhanced model for financial research, multi-step investment workflows, and long-horizon planning and execution", + "lifecycle": "active", + "docsUrl": "https://opencode.ai/docs/zen", + "contextWindow": 262144, + "maxOutputTokens": 32768, + "structuredOutput": false, + "lastUpdated": "2026-08-27", + "isFree": true, + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "toggle": true + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, "ling-3.0-flash-free": { "displayName": "Ling-3.0-flash Free", "description": "Efficient model for low-latency assistance, extraction, and routine automation", @@ -17532,7 +17817,7 @@ "x-preview-f-free": { "displayName": "Ox Alpha Free (Unlimited)", "description": "Stealth reasoning model for coding, agentic tasks, and tool use", - "lifecycle": "active", + "lifecycle": "deprecated", "docsUrl": "https://opencode.ai/docs/zen", "contextWindow": 1000000, "maxOutputTokens": 131072, @@ -17577,6 +17862,29 @@ "output": ["text"] } }, + "deepseek-v4-flash-vision-exp": { + "displayName": "DeepSeek V4 Flash Vision Exp", + "description": "Experimental multimodal DeepSeek V4 Flash model for image understanding, coding, and agentic work", + "lifecycle": "active", + "docsUrl": "https://opencode.ai/docs/zen", + "contextWindow": 1000000, + "maxOutputTokens": 384000, + "structuredOutput": true, + "lastUpdated": "2026-08-21", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"], + "toggle": true + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "deepseek-v4-pro": { "displayName": "DeepSeek V4 Pro (New)", "description": "Flagship DeepSeek model for coding, reasoning, and agentic work", @@ -17682,6 +17990,28 @@ "output": ["text"] } }, + "glm-5.3-flash": { + "displayName": "GLM-5.3-Flash (2x usage)", + "description": "Native multimodal GLM model for efficient coding and long-horizon agent tasks", + "lifecycle": "active", + "docsUrl": "https://opencode.ai/docs/zen", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + } + }, "gpt-5.6-luna": { "displayName": "GPT-5.6 Luna", "description": "Cost-efficient GPT-5.6 model for fast, high-volume workloads", @@ -17709,7 +18039,7 @@ "grok-4.5": { "displayName": "Grok 4.5", "description": "xAI's Grok model for chat, coding, agentic tools, and lower hallucination risk", - "lifecycle": "active", + "lifecycle": "deprecated", "docsUrl": "https://opencode.ai/docs/zen", "contextWindow": 500000, "maxOutputTokens": 500000, @@ -17728,8 +18058,31 @@ "output": ["text"] } }, + "grok-4.6": { + "displayName": "Grok 4.6", + "description": "xAI's frontier model for long-running agents, coding, knowledge work, and visual projects", + "lifecycle": "active", + "docsUrl": "https://opencode.ai/docs/zen", + "contextWindow": 500000, + "maxOutputTokens": 500000, + "knowledgeCutoff": "2026-02-01", + "structuredOutput": true, + "lastUpdated": "2026-08-12", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "medium", "high", "xhigh"] + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "hy3": { - "displayName": "Hy3 (8x usage)", + "displayName": "Hy3", "description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks", "lifecycle": "active", "docsUrl": "https://opencode.ai/docs/zen", @@ -17749,6 +18102,27 @@ "output": ["text"] } }, + "hy4-preview": { + "displayName": "Hy4 preview", + "description": "A next-generation productivity model with significantly enhanced Agent and complex task execution capabilities.", + "lifecycle": "active", + "docsUrl": "https://opencode.ai/docs/zen", + "contextWindow": 1024000, + "maxOutputTokens": 64000, + "lastUpdated": "2026-08-28", + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["none", "high"] + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, "kimi-k2.5": { "displayName": "Kimi K2.5", "description": "Legacy model retained for compatibility with older integrations", @@ -17829,6 +18203,27 @@ "output": ["text"] } }, + "longcat-2.0": { + "displayName": "LongCat-2.0", + "description": "Meituan LongCat-2.0, a reasoning model with tool calling and a 1M-token context window", + "lifecycle": "active", + "docsUrl": "https://opencode.ai/docs/zen", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "lastUpdated": "2026-06-30", + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "toggle": true + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, "mimo-v2-omni": { "displayName": "MiMo V2 Omni", "description": "Legacy model retained for compatibility with older integrations", @@ -17990,7 +18385,7 @@ "ox-alpha-free": { "displayName": "Ox Alpha Free (Unlimited)", "description": "Stealth reasoning model for coding, agentic tasks, and tool use", - "lifecycle": "active", + "lifecycle": "deprecated", "docsUrl": "https://opencode.ai/docs/zen", "contextWindow": 1000000, "maxOutputTokens": 131072, @@ -18096,6 +18491,29 @@ "output": ["text"] } }, + "qwen3.8-flash": { + "displayName": "Qwen3.8 Flash", + "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks", + "lifecycle": "active", + "docsUrl": "https://opencode.ai/docs/zen", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "medium", "xhigh"], + "toggle": true + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "qwen3.8-max": { "displayName": "Qwen3.8 Max", "description": "2.4-trillion-parameter multimodal flagship for coding, professional work, and long-horizon agentic workflows", @@ -18111,6 +18529,7 @@ "functionCalling": true }, "thinkingOptions": { + "efforts": ["low", "medium", "xhigh"], "toggle": true }, "modalities": { @@ -18217,7 +18636,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1310720, - "maxOutputTokens": 1048576, + "maxOutputTokens": 393216, "structuredOutput": true, "lastUpdated": "2026-08-01", "capabilities": { @@ -18286,7 +18705,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1048576, - "maxOutputTokens": 974842, + "maxOutputTokens": 943718, "structuredOutput": true, "lastUpdated": "2026-04-27", "capabilities": { @@ -18355,7 +18774,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 500000, - "maxOutputTokens": 1000000, + "maxOutputTokens": 450000, "structuredOutput": true, "lastUpdated": "2026-07-08", "capabilities": { @@ -18376,9 +18795,9 @@ "description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 1048576, - "maxOutputTokens": 131072, - "structuredOutput": false, + "contextWindow": 1310720, + "maxOutputTokens": 943718, + "structuredOutput": true, "lastUpdated": "2026-08-19", "capabilities": { "vision": false, @@ -18456,7 +18875,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 32768, - "maxOutputTokens": 32768, + "maxOutputTokens": 29491, "knowledgeCutoff": "2023-12-31", "structuredOutput": false, "lastUpdated": "2025-02-04", @@ -18470,25 +18889,6 @@ "output": ["text"] } }, - "allenai/olmo-3-32b-think": { - "displayName": "Olmo 3 32B Think", - "description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use", - "lifecycle": "active", - "docsUrl": "https://openrouter.ai/models", - "contextWindow": 65536, - "maxOutputTokens": 65536, - "structuredOutput": true, - "lastUpdated": "2025-11-21", - "capabilities": { - "vision": false, - "reasoning": true, - "functionCalling": false - }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, "amazon/nova-2-lite-v1": { "displayName": "Nova 2 Lite", "description": "Multimodal reasoning model for visual analysis, planning, and tool use", @@ -18503,6 +18903,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] @@ -18735,7 +19138,6 @@ "functionCalling": true }, "thinkingOptions": { - "efforts": ["low", "medium", "high"], "toggle": true }, "modalities": { @@ -19011,8 +19413,8 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, - "structuredOutput": true, + "maxOutputTokens": 80000, + "structuredOutput": false, "lastUpdated": "2026-05-28", "capabilities": { "vision": false, @@ -19024,26 +19426,6 @@ "output": ["text"] } }, - "arcee-ai/virtuoso-large": { - "displayName": "Virtuoso Large", - "description": "Flagship model for demanding analysis, coding, and production agent workflows", - "lifecycle": "active", - "docsUrl": "https://openrouter.ai/models", - "contextWindow": 131072, - "maxOutputTokens": 64000, - "knowledgeCutoff": "2025-03-31", - "structuredOutput": false, - "lastUpdated": "2025-05-05", - "capabilities": { - "vision": false, - "reasoning": false, - "functionCalling": true - }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, "baidu/ernie-4.5-vl-424b-a47b": { "displayName": "ERNIE 4.5 VL 424B A47B ", "description": "Multimodal reasoning model for visual analysis, planning, and tool use", @@ -19059,6 +19441,9 @@ "reasoning": true, "functionCalling": false }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["image", "text"], "output": ["text"] @@ -19078,6 +19463,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["image", "text"], "output": ["text"] @@ -19097,6 +19485,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["image", "text"], "output": ["text"] @@ -19108,7 +19499,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "structuredOutput": true, "lastUpdated": "2026-08-12", "capabilities": { @@ -19116,6 +19507,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image"], "output": ["text"] @@ -19325,24 +19719,8 @@ "reasoning": true, "functionCalling": true }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, - "deepcogito/cogito-v2.1-671b": { - "displayName": "Cogito v2.1 671B", - "description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use", - "lifecycle": "active", - "docsUrl": "https://openrouter.ai/models", - "contextWindow": 128000, - "maxOutputTokens": 128000, - "structuredOutput": true, - "lastUpdated": "2025-11-13", - "capabilities": { - "vision": false, - "reasoning": true, - "functionCalling": false + "thinkingOptions": { + "toggle": true }, "modalities": { "input": ["text"], @@ -19375,7 +19753,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 163840, - "maxOutputTokens": 163840, + "maxOutputTokens": 147456, "knowledgeCutoff": "2024-07-31", "structuredOutput": true, "lastUpdated": "2025-03-24", @@ -19395,7 +19773,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 163840, - "maxOutputTokens": 32768, + "maxOutputTokens": 144900, "knowledgeCutoff": "2025-03-31", "structuredOutput": true, "lastUpdated": "2025-08-21", @@ -19458,7 +19836,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 8192, - "maxOutputTokens": 8192, + "maxOutputTokens": 7372, "knowledgeCutoff": "2024-07-31", "structuredOutput": false, "lastUpdated": "2025-01-23", @@ -19467,6 +19845,9 @@ "reasoning": true, "functionCalling": false }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -19571,7 +19952,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1310720, - "maxOutputTokens": 384000, + "maxOutputTokens": 943718, "knowledgeCutoff": "2025-05", "structuredOutput": true, "lastUpdated": "2026-07-31", @@ -19618,7 +19999,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1048576, - "maxOutputTokens": 393216, + "maxOutputTokens": 384000, "knowledgeCutoff": "2025-05", "structuredOutput": true, "lastUpdated": "2026-04-24", @@ -19644,7 +20025,7 @@ "contextWindow": 1048576, "maxOutputTokens": 384000, "structuredOutput": true, - "lastUpdated": "2026-08-12", + "lastUpdated": "2026-08-22", "capabilities": { "vision": false, "reasoning": true, @@ -19665,7 +20046,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 512000, - "maxOutputTokens": 512000, + "maxOutputTokens": 460800, "structuredOutput": true, "lastUpdated": "2026-08-14", "isFree": true, @@ -19674,6 +20055,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image"], "output": ["text"] @@ -19899,7 +20283,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 65536, - "maxOutputTokens": 65536, + "maxOutputTokens": 58982, "knowledgeCutoff": "2025-01", "structuredOutput": true, "lastUpdated": "2026-02-26", @@ -19947,7 +20331,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 65536, - "maxOutputTokens": 65536, + "maxOutputTokens": 58982, "knowledgeCutoff": "2025-01", "structuredOutput": false, "lastUpdated": "2026-06-30", @@ -20172,8 +20556,8 @@ "description": "Open Gemma instruction model for efficient chat and self-hosted deployments", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 262144, - "maxOutputTokens": 131072, + "contextWindow": 131072, + "maxOutputTokens": 117964, "knowledgeCutoff": "2024-08-31", "structuredOutput": true, "lastUpdated": "2025-03-12", @@ -20207,26 +20591,6 @@ "output": ["text"] } }, - "google/gemma-3n-e4b-it": { - "displayName": "Gemma 3n 4B", - "description": "Open Gemma instruction model for efficient chat and self-hosted deployments", - "lifecycle": "active", - "docsUrl": "https://openrouter.ai/models", - "contextWindow": 32768, - "maxOutputTokens": 32768, - "knowledgeCutoff": "2024-08-31", - "structuredOutput": true, - "lastUpdated": "2025-05-20", - "capabilities": { - "vision": false, - "reasoning": false, - "functionCalling": false - }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, "google/gemma-4-26b-a4b-it": { "displayName": "Gemma 4 26B A4B IT", "description": "Open Gemma instruction model for efficient chat and self-hosted deployments", @@ -20278,7 +20642,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 16384, "structuredOutput": true, "lastUpdated": "2026-04-02", "capabilities": { @@ -20363,7 +20727,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 8192, - "maxOutputTokens": 4096, + "maxOutputTokens": 3686, "knowledgeCutoff": "2023-06-30", "structuredOutput": true, "lastUpdated": "2023-07-02", @@ -20383,7 +20747,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131000, - "maxOutputTokens": 131000, + "maxOutputTokens": 117900, "structuredOutput": false, "lastUpdated": "2025-10-20", "capabilities": { @@ -20402,7 +20766,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 131072, + "maxOutputTokens": 117964, "structuredOutput": true, "lastUpdated": "2026-04-30", "capabilities": { @@ -20415,60 +20779,44 @@ "output": ["text"] } }, - "inception/mercury-2": { - "displayName": "Mercury 2", + "ibm-granite/granite-4.2-8b": { + "displayName": "Granite 4.2 8B", "description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 128000, - "maxOutputTokens": 50000, + "contextWindow": 131072, + "maxOutputTokens": 117964, "structuredOutput": true, - "lastUpdated": "2026-03-04", + "lastUpdated": "2026-08-31", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "thinkingOptions": { - "efforts": ["none", "low", "medium", "high"] + "efforts": ["none", "low", "high"] }, "modalities": { "input": ["text"], "output": ["text"] } }, - "inclusionai/ling-2.6-1t": { - "displayName": "Ling-2.6-1T", - "description": "Tool-capable chat model for instruction following and agentic application workflows", + "inception/mercury-2": { + "displayName": "Mercury 2", + "description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 262144, - "maxOutputTokens": 32768, + "contextWindow": 128000, + "maxOutputTokens": 50000, "structuredOutput": true, - "lastUpdated": "2026-04-23", + "lastUpdated": "2026-03-04", "capabilities": { "vision": false, - "reasoning": false, + "reasoning": true, "functionCalling": true }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, - "inclusionai/ling-2.6-flash": { - "displayName": "Ling-2.6-flash", - "description": "Efficient model for low-latency assistance, extraction, and routine automation", - "lifecycle": "active", - "docsUrl": "https://openrouter.ai/models", - "contextWindow": 262144, - "maxOutputTokens": 32768, - "structuredOutput": true, - "lastUpdated": "2026-04-21", - "capabilities": { - "vision": false, - "reasoning": false, - "functionCalling": true + "thinkingOptions": { + "efforts": ["none", "low", "medium", "high"] }, "modalities": { "input": ["text"], @@ -20489,46 +20837,31 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] } }, - "inclusionai/ring-2.6-1t": { - "displayName": "Ring-2.6-1T", - "description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use", + "inclusionai/ling-3.0-flash-fin:free": { + "displayName": "Ling 3.0 Flash Fin (free)", + "description": "Efficient model for low-latency assistance, extraction, and routine automation", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 65536, + "maxOutputTokens": 32768, "structuredOutput": false, - "lastUpdated": "2026-05-08", + "lastUpdated": "2026-08-27", + "isFree": true, "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "thinkingOptions": { - "efforts": ["high", "xhigh"] - }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, - "kwaipilot/kat-coder-air-v2.5": { - "displayName": "KAT-Coder-Air V2.5", - "description": "Coding model for repository understanding, refactors, and agentic engineering tasks", - "lifecycle": "active", - "docsUrl": "https://openrouter.ai/models", - "contextWindow": 256000, - "maxOutputTokens": 80000, - "structuredOutput": true, - "lastUpdated": "2026-07-10", - "capabilities": { - "vision": false, - "reasoning": false, - "functionCalling": true + "toggle": true }, "modalities": { "input": ["text"], @@ -20541,7 +20874,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 80000, + "maxOutputTokens": 144000, "structuredOutput": true, "lastUpdated": "2026-03-27", "capabilities": { @@ -20559,8 +20892,8 @@ "description": "Coding model for repository understanding, refactors, and agentic engineering tasks", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 256000, - "maxOutputTokens": 80000, + "contextWindow": 262144, + "maxOutputTokens": 235929, "structuredOutput": true, "lastUpdated": "2026-07-10", "capabilities": { @@ -20627,6 +20960,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -20658,7 +20994,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 131072, + "maxOutputTokens": 117964, "knowledgeCutoff": "2023-12", "structuredOutput": true, "lastUpdated": "2024-07-23", @@ -20678,7 +21014,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 60000, - "maxOutputTokens": 60000, + "maxOutputTokens": 54000, "knowledgeCutoff": "2023-12-31", "structuredOutput": false, "lastUpdated": "2024-09-25", @@ -20698,7 +21034,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 131072, + "maxOutputTokens": 117964, "knowledgeCutoff": "2023-12-31", "structuredOutput": true, "lastUpdated": "2024-09-25", @@ -20718,7 +21054,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 16384, + "maxOutputTokens": 115200, "knowledgeCutoff": "2023-12", "structuredOutput": true, "lastUpdated": "2024-12-06", @@ -20738,7 +21074,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1048576, - "maxOutputTokens": 16384, + "maxOutputTokens": 115200, "knowledgeCutoff": "2024-08-31", "structuredOutput": true, "lastUpdated": "2025-04-05", @@ -20758,7 +21094,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1310720, - "maxOutputTokens": 16384, + "maxOutputTokens": 8192, "knowledgeCutoff": "2024-08-31", "structuredOutput": true, "lastUpdated": "2025-04-05", @@ -20777,7 +21113,7 @@ "description": "Safety model for policy screening, moderation, and risk-aware routing workflows", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 1048576, + "contextWindow": 163840, "maxOutputTokens": 16384, "knowledgeCutoff": "2024-08-31", "structuredOutput": false, @@ -20798,7 +21134,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 131072, + "maxOutputTokens": 16384, "knowledgeCutoff": "2026-01-04", "structuredOutput": true, "lastUpdated": "2026-08-10", @@ -20821,7 +21157,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1048576, - "maxOutputTokens": 1048576, + "maxOutputTokens": 943718, "structuredOutput": true, "lastUpdated": "2026-07-09", "capabilities": { @@ -20843,7 +21179,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1048576, - "maxOutputTokens": 1048576, + "maxOutputTokens": 943718, "structuredOutput": true, "lastUpdated": "2026-08-05", "capabilities": { @@ -20859,13 +21195,35 @@ "output": ["text"] } }, + "meta/muse-spark-1.2-contributor": { + "displayName": "Muse Spark 1.2 Contributor", + "description": "Open Llama multimodal model for image understanding and text reasoning", + "lifecycle": "active", + "docsUrl": "https://openrouter.ai/models", + "contextWindow": 1048576, + "maxOutputTokens": 943718, + "structuredOutput": true, + "lastUpdated": "2026-08-21", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["minimal", "low", "medium", "high", "xhigh"] + }, + "modalities": { + "input": ["text", "image", "pdf", "audio"], + "output": ["text"] + } + }, "microsoft/phi-4": { "displayName": "Phi 4", "description": "Open-weight instruction model for adaptable chat and self-hosted production workloads", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 16384, - "maxOutputTokens": 16384, + "maxOutputTokens": 14745, "knowledgeCutoff": "2024-06-30", "structuredOutput": true, "lastUpdated": "2025-01-10", @@ -20905,7 +21263,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1000192, - "maxOutputTokens": 1000192, + "maxOutputTokens": 900172, "knowledgeCutoff": "2024-03-31", "structuredOutput": false, "lastUpdated": "2025-01-15", @@ -20934,6 +21292,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -21002,7 +21363,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 204800, - "maxOutputTokens": 32768, + "maxOutputTokens": 128000, "structuredOutput": true, "lastUpdated": "2026-02-12", "capabilities": { @@ -21034,6 +21395,26 @@ "output": ["text"] } }, + "minimax/minimax-m2.7:free": { + "displayName": "MiniMax M2.7 (free)", + "description": "MiniMax model for chat, coding, office work, and agentic tasks", + "lifecycle": "active", + "docsUrl": "https://openrouter.ai/models", + "contextWindow": 196608, + "maxOutputTokens": 176947, + "structuredOutput": false, + "lastUpdated": "2026-03-18", + "isFree": true, + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, "minimax/minimax-m3": { "displayName": "MiniMax-M3", "description": "MiniMax multimodal model for long-context coding, perception, and agent planning", @@ -21048,6 +21429,32 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, + "minimax/minimax-m3:free": { + "displayName": "MiniMax M3 (free)", + "description": "MiniMax multimodal coding model for long-context reasoning and agent tasks", + "lifecycle": "active", + "docsUrl": "https://openrouter.ai/models", + "contextWindow": 1048576, + "maxOutputTokens": 943718, + "structuredOutput": false, + "lastUpdated": "2026-06-01", + "isFree": true, + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image"], "output": ["text"] @@ -21059,7 +21466,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 256000, - "maxOutputTokens": 256000, + "maxOutputTokens": 204800, "knowledgeCutoff": "2025-03-31", "structuredOutput": true, "lastUpdated": "2025-08-01", @@ -21073,32 +21480,33 @@ "output": ["text"] } }, - "mistralai/ministral-14b-2512": { - "displayName": "Ministral 3 14B 2512", - "description": "Compact Mistral model for edge, latency-sensitive, and cost-efficient workloads", + "mistralai/devstral-2512": { + "displayName": "Devstral 2", + "description": "Mistral coding agent model for repository tasks and software engineering workflows", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 209715, + "knowledgeCutoff": "2025-12", "structuredOutput": true, - "lastUpdated": "2025-12-02", + "lastUpdated": "2025-12-09", "capabilities": { - "vision": true, + "vision": false, "reasoning": false, "functionCalling": true }, "modalities": { - "input": ["text", "image"], + "input": ["text", "pdf"], "output": ["text"] } }, - "mistralai/ministral-3b-2512": { - "displayName": "Ministral 3 3B 2512", + "mistralai/ministral-14b-2512": { + "displayName": "Ministral 3 14B 2512", "description": "Compact Mistral model for edge, latency-sensitive, and cost-efficient workloads", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 131072, - "maxOutputTokens": 131072, + "contextWindow": 262144, + "maxOutputTokens": 209715, "structuredOutput": true, "lastUpdated": "2025-12-02", "capabilities": { @@ -21111,23 +21519,22 @@ "output": ["text"] } }, - "mistralai/ministral-8b": { - "displayName": "Ministral 8B", + "mistralai/ministral-3b-2512": { + "displayName": "Ministral 3 3B 2512", "description": "Compact Mistral model for edge, latency-sensitive, and cost-efficient workloads", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 128000, - "maxOutputTokens": 128000, - "knowledgeCutoff": "2024-09-30", + "contextWindow": 131072, + "maxOutputTokens": 104857, "structuredOutput": true, - "lastUpdated": "2024-10-17", + "lastUpdated": "2025-12-02", "capabilities": { - "vision": false, + "vision": true, "reasoning": false, - "functionCalling": false + "functionCalling": true }, "modalities": { - "input": ["text"], + "input": ["text", "image"], "output": ["text"] } }, @@ -21137,7 +21544,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 209715, "structuredOutput": true, "lastUpdated": "2025-12-02", "capabilities": { @@ -21156,7 +21563,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 128000, - "maxOutputTokens": 128000, + "maxOutputTokens": 102400, "knowledgeCutoff": "2024-11-30", "structuredOutput": true, "lastUpdated": "2024-02-26", @@ -21176,7 +21583,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 131072, + "maxOutputTokens": 104857, "knowledgeCutoff": "2024-03-31", "structuredOutput": true, "lastUpdated": "2024-11-19", @@ -21196,7 +21603,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 209715, "knowledgeCutoff": "2024-11", "structuredOutput": true, "lastUpdated": "2025-12-02", @@ -21216,7 +21623,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 131072, + "maxOutputTokens": 104857, "knowledgeCutoff": "2025-03-31", "structuredOutput": true, "lastUpdated": "2025-05-07", @@ -21236,7 +21643,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 209715, "structuredOutput": true, "lastUpdated": "2026-04-30", "capabilities": { @@ -21258,7 +21665,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 262144, + "maxOutputTokens": 104857, "knowledgeCutoff": "2025-06-30", "structuredOutput": true, "lastUpdated": "2025-08-13", @@ -21298,7 +21705,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 32768, - "maxOutputTokens": 32768, + "maxOutputTokens": 26214, "knowledgeCutoff": "2024-09-30", "structuredOutput": true, "lastUpdated": "2025-02-17", @@ -21338,7 +21745,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 209715, "knowledgeCutoff": "2025-06", "structuredOutput": true, "lastUpdated": "2026-03-16", @@ -21361,7 +21768,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 128000, - "maxOutputTokens": 128000, + "maxOutputTokens": 102400, "knowledgeCutoff": "2023-10-31", "structuredOutput": false, "lastUpdated": "2025-03-17", @@ -21380,7 +21787,7 @@ "description": "Efficient Mistral model for fast chat, extraction, and production assistants", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 256000, + "contextWindow": 131072, "maxOutputTokens": 16384, "knowledgeCutoff": "2023-10-31", "structuredOutput": true, @@ -21401,7 +21808,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 65536, - "maxOutputTokens": 65536, + "maxOutputTokens": 52428, "knowledgeCutoff": "2024-01-31", "structuredOutput": true, "lastUpdated": "2024-04-17", @@ -21420,8 +21827,8 @@ "description": "Efficient Mistral model for fast chat, extraction, and production assistants", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 32000, - "maxOutputTokens": 32000, + "contextWindow": 32768, + "maxOutputTokens": 26214, "structuredOutput": true, "lastUpdated": "2025-10-30", "capabilities": { @@ -21500,7 +21907,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "knowledgeCutoff": "2025-01", "structuredOutput": true, "lastUpdated": "2026-01", @@ -21509,6 +21916,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image"], "output": ["text"] @@ -21520,7 +21930,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "knowledgeCutoff": "2025-01", "structuredOutput": true, "lastUpdated": "2026-04-21", @@ -21529,6 +21939,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image"], "output": ["text"] @@ -21540,7 +21953,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "knowledgeCutoff": "2025-01", "structuredOutput": true, "lastUpdated": "2026-06-12", @@ -21560,7 +21973,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1048576, - "maxOutputTokens": 1048576, + "maxOutputTokens": 943718, "structuredOutput": true, "lastUpdated": "2026-07-16", "capabilities": { @@ -21621,7 +22034,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "structuredOutput": true, "lastUpdated": "2026-06-24", "capabilities": { @@ -21629,6 +22042,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image"], "output": ["text"] @@ -21640,7 +22056,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "structuredOutput": false, "lastUpdated": "2026-06-08", "capabilities": { @@ -21648,6 +22064,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image"], "output": ["text"] @@ -21699,7 +22118,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 131072, + "maxOutputTokens": 117964, "knowledgeCutoff": "2024-08-31", "structuredOutput": false, "lastUpdated": "2025-08-26", @@ -21722,7 +22141,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 131072, + "maxOutputTokens": 117964, "knowledgeCutoff": "2024-08-31", "structuredOutput": false, "lastUpdated": "2025-08-26", @@ -21745,7 +22164,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 228000, "structuredOutput": true, "lastUpdated": "2025-12-15", "capabilities": { @@ -21753,25 +22172,8 @@ "reasoning": true, "functionCalling": true }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, - "nvidia/nemotron-3-nano-30b-a3b:free": { - "displayName": "Nemotron 3 Nano 30B A3B (free)", - "description": "Small Nemotron 3 MoE for efficient coding, math, and long-context agents", - "lifecycle": "active", - "docsUrl": "https://openrouter.ai/models", - "contextWindow": 256000, - "maxOutputTokens": 256000, - "structuredOutput": false, - "lastUpdated": "2025-12-15", - "isFree": true, - "capabilities": { - "vision": false, - "reasoning": true, - "functionCalling": true + "thinkingOptions": { + "toggle": true }, "modalities": { "input": ["text"], @@ -21793,6 +22195,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image", "audio"], "output": ["text"] @@ -21827,7 +22232,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "structuredOutput": true, "lastUpdated": "2026-03-11", "isFree": true, @@ -21850,7 +22255,7 @@ "description": "Largest Nemotron 3 model for maximum open-weight reasoning and agent accuracy", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 512288, + "contextWindow": 262144, "maxOutputTokens": 16384, "structuredOutput": true, "lastUpdated": "2026-06-04", @@ -21907,6 +22312,9 @@ "reasoning": true, "functionCalling": false }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image"], "output": ["text"] @@ -21957,46 +22365,6 @@ "output": ["text"] } }, - "nvidia/nemotron-nano-12b-v2-vl:free": { - "displayName": "Nemotron Nano 12B 2 VL (free)", - "description": "Nemotron multimodal model for visual reasoning and agentic AI workflows", - "lifecycle": "active", - "docsUrl": "https://openrouter.ai/models", - "contextWindow": 128000, - "maxOutputTokens": 128000, - "structuredOutput": false, - "lastUpdated": "2025-10-28", - "isFree": true, - "capabilities": { - "vision": true, - "reasoning": true, - "functionCalling": true - }, - "modalities": { - "input": ["text", "image"], - "output": ["text"] - } - }, - "nvidia/nemotron-nano-9b-v2:free": { - "displayName": "Nemotron Nano 9B V2 (free)", - "description": "Compact Nemotron model for efficient reasoning and deployable AI agents", - "lifecycle": "active", - "docsUrl": "https://openrouter.ai/models", - "contextWindow": 128000, - "maxOutputTokens": 128000, - "structuredOutput": true, - "lastUpdated": "2025-08-18", - "isFree": true, - "capabilities": { - "vision": false, - "reasoning": true, - "functionCalling": true - }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, "openai/gpt-3.5-turbo": { "displayName": "GPT-3.5-turbo", "description": "Compact GPT model for low-latency assistance and high-volume workloads", @@ -22023,7 +22391,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 4095, - "maxOutputTokens": 4096, + "maxOutputTokens": 3685, "knowledgeCutoff": "2021-09-30", "structuredOutput": true, "lastUpdated": "2024-01-25", @@ -22063,7 +22431,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 4095, - "maxOutputTokens": 4096, + "maxOutputTokens": 3685, "knowledgeCutoff": "2021-09-30", "structuredOutput": true, "lastUpdated": "2023-09-28", @@ -23038,7 +23406,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 131072, + "maxOutputTokens": 117964, "structuredOutput": true, "lastUpdated": "2025-08-05", "capabilities": { @@ -23060,7 +23428,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 131072, + "maxOutputTokens": 117964, "structuredOutput": true, "lastUpdated": "2025-08-05", "capabilities": { @@ -23076,29 +23444,6 @@ "output": ["text"] } }, - "openai/gpt-oss-20b:free": { - "displayName": "gpt-oss-20b (free)", - "description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads", - "lifecycle": "active", - "docsUrl": "https://openrouter.ai/models", - "contextWindow": 131072, - "maxOutputTokens": 32768, - "structuredOutput": true, - "lastUpdated": "2025-08-05", - "isFree": true, - "capabilities": { - "vision": false, - "reasoning": true, - "functionCalling": true - }, - "thinkingOptions": { - "efforts": ["low", "medium", "high"] - }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, "openai/gpt-oss-safeguard-20b": { "displayName": "gpt-oss-safeguard-20b", "description": "Safety model for policy screening, moderation, and risk-aware routing workflows", @@ -23137,7 +23482,7 @@ "functionCalling": true }, "thinkingOptions": { - "efforts": ["low", "medium", "high"] + "toggle": true }, "modalities": { "input": ["text", "image", "pdf"], @@ -23159,6 +23504,9 @@ "reasoning": true, "functionCalling": false }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] @@ -23180,7 +23528,7 @@ "functionCalling": true }, "thinkingOptions": { - "efforts": ["low", "medium", "high"] + "toggle": true }, "modalities": { "input": ["text", "image", "pdf"], @@ -23203,7 +23551,7 @@ "functionCalling": true }, "thinkingOptions": { - "efforts": ["low", "medium", "high"] + "toggle": true }, "modalities": { "input": ["text", "pdf"], @@ -23249,7 +23597,7 @@ "functionCalling": true }, "thinkingOptions": { - "efforts": ["low", "medium", "high"] + "toggle": true }, "modalities": { "input": ["text", "pdf", "image"], @@ -23272,7 +23620,7 @@ "functionCalling": true }, "thinkingOptions": { - "efforts": ["low", "medium", "high"] + "toggle": true }, "modalities": { "input": ["image", "text", "pdf"], @@ -23413,6 +23761,9 @@ "reasoning": true, "functionCalling": false }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image"], "output": ["text"] @@ -23424,7 +23775,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 127072, - "maxOutputTokens": 127072, + "maxOutputTokens": 114364, "structuredOutput": false, "lastUpdated": "2025-01-27", "capabilities": { @@ -23443,7 +23794,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 128000, - "maxOutputTokens": 128000, + "maxOutputTokens": 115200, "structuredOutput": false, "lastUpdated": "2025-03-07", "capabilities": { @@ -23451,6 +23802,9 @@ "reasoning": true, "functionCalling": false }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -23500,7 +23854,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 128000, - "maxOutputTokens": 128000, + "maxOutputTokens": 115200, "structuredOutput": false, "lastUpdated": "2025-03-07", "capabilities": { @@ -23508,6 +23862,9 @@ "reasoning": true, "functionCalling": false }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image"], "output": ["text"] @@ -23527,6 +23884,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -23547,6 +23907,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -23566,6 +23929,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -23586,6 +23952,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -23617,7 +23986,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 32768, - "maxOutputTokens": 32768, + "maxOutputTokens": 29491, "knowledgeCutoff": "2024-06-30", "structuredOutput": true, "lastUpdated": "2024-10-16", @@ -23637,7 +24006,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 32768, - "maxOutputTokens": 32768, + "maxOutputTokens": 29491, "knowledgeCutoff": "2024-06-30", "structuredOutput": false, "lastUpdated": "2024-11-11", @@ -23691,33 +24060,13 @@ "output": ["text"] } }, - "qwen/qwen-plus-2025-07-28:thinking": { - "displayName": "Qwen Plus 0728 (thinking)", - "description": "Qwen reasoning model for deliberate problem solving, math, and coding", - "lifecycle": "active", - "docsUrl": "https://openrouter.ai/models", - "contextWindow": 1000000, - "maxOutputTokens": 32768, - "knowledgeCutoff": "2025-03-31", - "structuredOutput": true, - "lastUpdated": "2025-09-08", - "capabilities": { - "vision": false, - "reasoning": true, - "functionCalling": true - }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, "qwen/qwen2.5-vl-72b-instruct": { "displayName": "Qwen2.5 VL 72B Instruct", "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 128000, - "maxOutputTokens": 128000, + "maxOutputTokens": 28800, "knowledgeCutoff": "2024-06-30", "structuredOutput": true, "lastUpdated": "2025-02-01", @@ -23783,7 +24132,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 16384, + "maxOutputTokens": 235929, "knowledgeCutoff": "2025-06-30", "structuredOutput": true, "lastUpdated": "2025-07-21", @@ -23802,8 +24151,8 @@ "description": "Qwen reasoning model for deliberate problem solving, math, and coding", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 262144, - "maxOutputTokens": 32768, + "contextWindow": 131072, + "maxOutputTokens": 117964, "knowledgeCutoff": "2025-06-30", "structuredOutput": false, "lastUpdated": "2025-07-25", @@ -23823,7 +24172,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 8192, + "maxOutputTokens": 16384, "structuredOutput": false, "lastUpdated": "2025-04-28", "capabilities": { @@ -23951,7 +24300,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "knowledgeCutoff": "2025-04", "structuredOutput": true, "lastUpdated": "2025-04", @@ -23991,7 +24340,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "knowledgeCutoff": "2025-09", "structuredOutput": true, "lastUpdated": "2026-02-03", @@ -24059,6 +24408,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -24070,7 +24422,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 16384, + "maxOutputTokens": 235929, "knowledgeCutoff": "2025-04", "structuredOutput": true, "lastUpdated": "2025-09", @@ -24150,7 +24502,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 32768, + "maxOutputTokens": 16384, "knowledgeCutoff": "2025-03-31", "structuredOutput": true, "lastUpdated": "2025-10-06", @@ -24247,7 +24599,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 65536, + "maxOutputTokens": 81920, "structuredOutput": true, "lastUpdated": "2026-02-23", "capabilities": { @@ -24291,7 +24643,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "structuredOutput": true, "lastUpdated": "2026-02-23", "capabilities": { @@ -24335,7 +24687,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "structuredOutput": true, "lastUpdated": "2026-02-23", "capabilities": { @@ -24424,7 +24776,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "structuredOutput": true, "lastUpdated": "2026-04-22", "capabilities": { @@ -24446,7 +24798,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "structuredOutput": true, "lastUpdated": "2026-04-17", "capabilities": { @@ -24545,6 +24897,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image"], "output": ["text"] @@ -24640,6 +24995,28 @@ "output": ["text"] } }, + "qwen/qwen3.8-flash": { + "displayName": "Qwen3.8 Flash", + "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks", + "lifecycle": "active", + "docsUrl": "https://openrouter.ai/models", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "toggle": true + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "qwen/qwen3.8-max": { "displayName": "Qwen3.8 Max", "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks", @@ -24668,7 +25045,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 16384, - "maxOutputTokens": 16384, + "maxOutputTokens": 14745, "structuredOutput": true, "lastUpdated": "2026-03-20", "capabilities": { @@ -24687,7 +25064,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 65536, - "maxOutputTokens": 65536, + "maxOutputTokens": 58982, "knowledgeCutoff": "2025-01-31", "structuredOutput": true, "lastUpdated": "2025-03-12", @@ -24789,7 +25166,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 8192, - "maxOutputTokens": 16384, + "maxOutputTokens": 7372, "knowledgeCutoff": "2023-12-31", "structuredOutput": true, "lastUpdated": "2024-08-13", @@ -24843,29 +25220,6 @@ "output": ["text"] } }, - "stealth/ox-alpha": { - "displayName": "Ox Alpha", - "description": "Multimodal reasoning model for visual analysis, planning, and tool use", - "lifecycle": "active", - "docsUrl": "https://openrouter.ai/models", - "contextWindow": 1048576, - "maxOutputTokens": 131072, - "structuredOutput": false, - "lastUpdated": "2026-08-20", - "isFree": true, - "capabilities": { - "vision": true, - "reasoning": true, - "functionCalling": true - }, - "thinkingOptions": { - "efforts": ["low", "high", "max"] - }, - "modalities": { - "input": ["text", "image"], - "output": ["text"] - } - }, "stepfun/step-3.5-flash": { "displayName": "Step 3.5 Flash", "description": "StepFun flash lane for quick multimodal reasoning and coding assistance", @@ -24893,7 +25247,7 @@ "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, "inputLimit": 256000, - "maxOutputTokens": 256000, + "maxOutputTokens": 230400, "knowledgeCutoff": "2026-03-01", "structuredOutput": true, "lastUpdated": "2026-05-29", @@ -24916,7 +25270,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 131072, + "maxOutputTokens": 117964, "knowledgeCutoff": "2025-03-31", "structuredOutput": true, "lastUpdated": "2025-07-08", @@ -24925,6 +25279,9 @@ "reasoning": true, "functionCalling": false }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -24968,6 +25325,25 @@ "output": ["text"] } }, + "tencent/hy-mt2-7b": { + "displayName": "Hy-MT2-7B", + "description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks", + "lifecycle": "active", + "docsUrl": "https://openrouter.ai/models", + "contextWindow": 8192, + "maxOutputTokens": 4096, + "structuredOutput": true, + "lastUpdated": "2026-08-19", + "capabilities": { + "vision": false, + "reasoning": false, + "functionCalling": false + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, "tencent/hy3": { "displayName": "Hy3", "description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks", @@ -24996,7 +25372,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 262144, - "maxOutputTokens": 262144, + "maxOutputTokens": 235929, "structuredOutput": false, "lastUpdated": "2026-04-20", "capabilities": { @@ -25012,36 +25388,38 @@ "output": ["text"] } }, - "thedrummer/cydonia-24b-v4.1": { - "displayName": "Cydonia 24B V4.1", - "description": "Open-weight instruction model for adaptable chat and self-hosted production workloads", + "tencent/hy4-preview": { + "displayName": "Hy4 preview", + "description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 131072, - "maxOutputTokens": 131072, - "knowledgeCutoff": "2024-04-30", + "contextWindow": 1048576, + "maxOutputTokens": 64000, "structuredOutput": true, - "lastUpdated": "2025-09-27", + "lastUpdated": "2026-08-28", "capabilities": { "vision": false, - "reasoning": false, - "functionCalling": false + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["none", "low", "high"] }, "modalities": { "input": ["text"], "output": ["text"] } }, - "thedrummer/rocinante-12b": { - "displayName": "Rocinante 12B", + "thedrummer/cydonia-24b-v4.1": { + "displayName": "Cydonia 24B V4.1", "description": "Open-weight instruction model for adaptable chat and self-hosted production workloads", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 65536, - "maxOutputTokens": 65536, + "contextWindow": 131072, + "maxOutputTokens": 117964, "knowledgeCutoff": "2024-04-30", "structuredOutput": true, - "lastUpdated": "2024-09-30", + "lastUpdated": "2025-09-27", "capabilities": { "vision": false, "reasoning": false, @@ -25058,7 +25436,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 32768, - "maxOutputTokens": 32768, + "maxOutputTokens": 29491, "knowledgeCutoff": "2024-06-30", "structuredOutput": true, "lastUpdated": "2025-03-10", @@ -25078,7 +25456,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1024000, - "maxOutputTokens": 1024000, + "maxOutputTokens": 26214, "knowledgeCutoff": "2024-04-30", "structuredOutput": true, "lastUpdated": "2024-11-08", @@ -25098,7 +25476,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1048576, - "maxOutputTokens": 262144, + "maxOutputTokens": 471859, "structuredOutput": false, "lastUpdated": "2026-07-15", "capabilities": { @@ -25121,8 +25499,54 @@ "docsUrl": "https://openrouter.ai/models", "contextWindow": 1048576, "maxOutputTokens": 262144, - "structuredOutput": true, + "structuredOutput": false, + "lastUpdated": "2026-07-30", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["none", "minimal", "low", "medium", "high", "max"] + }, + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + } + }, + "thinkingmachines/inkling-small:free": { + "displayName": "Inkling Small (free)", + "description": "Multimodal reasoning model for visual analysis, planning, and tool use", + "lifecycle": "active", + "docsUrl": "https://openrouter.ai/models", + "contextWindow": 1048576, + "maxOutputTokens": 262144, + "structuredOutput": false, "lastUpdated": "2026-07-30", + "isFree": true, + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["none", "minimal", "low", "medium", "high", "max"] + }, + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + } + }, + "thinkingmachines/inkling:free": { + "displayName": "Inkling (free)", + "description": "Multimodal reasoning model for visual analysis, planning, and tool use", + "lifecycle": "active", + "docsUrl": "https://openrouter.ai/models", + "contextWindow": 1048576, + "maxOutputTokens": 262144, + "structuredOutput": false, + "lastUpdated": "2026-07-15", + "isFree": true, "capabilities": { "vision": true, "reasoning": true, @@ -25142,7 +25566,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 6144, - "maxOutputTokens": 6144, + "maxOutputTokens": 4096, "knowledgeCutoff": "2023-06-30", "structuredOutput": true, "lastUpdated": "2023-07-22", @@ -25162,7 +25586,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 131072, - "maxOutputTokens": 131072, + "maxOutputTokens": 117964, "structuredOutput": true, "lastUpdated": "2026-01-27", "capabilities": { @@ -25170,6 +25594,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -25189,6 +25616,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -25219,7 +25649,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 2000000, - "maxOutputTokens": 2000000, + "maxOutputTokens": 1800000, "knowledgeCutoff": "2025-09-01", "structuredOutput": true, "lastUpdated": "2026-03-31", @@ -25228,6 +25658,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] @@ -25239,7 +25672,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 2000000, - "maxOutputTokens": 2000000, + "maxOutputTokens": 1800000, "knowledgeCutoff": "2025-09-01", "structuredOutput": true, "lastUpdated": "2026-03-31", @@ -25262,7 +25695,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1000000, - "maxOutputTokens": 1000000, + "maxOutputTokens": 900000, "structuredOutput": true, "lastUpdated": "2026-04-17", "capabilities": { @@ -25284,7 +25717,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 500000, - "maxOutputTokens": 500000, + "maxOutputTokens": 450000, "structuredOutput": true, "lastUpdated": "2026-07-08", "capabilities": { @@ -25306,7 +25739,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 500000, - "maxOutputTokens": 500000, + "maxOutputTokens": 450000, "knowledgeCutoff": "2026-02-01", "structuredOutput": true, "lastUpdated": "2026-08-12", @@ -25329,7 +25762,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 256000, - "maxOutputTokens": 256000, + "maxOutputTokens": 230400, "structuredOutput": true, "lastUpdated": "2026-04-16", "capabilities": { @@ -25463,7 +25896,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 204800, - "maxOutputTokens": 131072, + "maxOutputTokens": 16384, "knowledgeCutoff": "2025-04", "structuredOutput": true, "lastUpdated": "2025-09-30", @@ -25472,6 +25905,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -25492,6 +25928,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text", "image"], "output": ["text"] @@ -25512,6 +25951,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -25532,6 +25974,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -25551,6 +25996,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -25570,6 +26018,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -25589,6 +26040,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["text"], "output": ["text"] @@ -25600,7 +26054,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 1048576, - "maxOutputTokens": 131072, + "maxOutputTokens": 262144, "structuredOutput": true, "lastUpdated": "2026-06-13", "capabilities": { @@ -25623,7 +26077,7 @@ "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", "contextWindow": 256000, - "maxOutputTokens": 256000, + "maxOutputTokens": 230400, "structuredOutput": true, "lastUpdated": "2026-06-13", "isFree": true, @@ -25646,9 +26100,9 @@ "description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering", "lifecycle": "active", "docsUrl": "https://openrouter.ai/models", - "contextWindow": 1048576, + "contextWindow": 1310720, "maxOutputTokens": 131072, - "structuredOutput": false, + "structuredOutput": true, "lastUpdated": "2026-08-14", "capabilities": { "vision": false, @@ -25663,6 +26117,28 @@ "output": ["text"] } }, + "z-ai/glm-5.3-flash": { + "displayName": "GLM-5.3-Flash", + "description": "GLM vision model for visual reasoning, documents, and multimodal agents", + "lifecycle": "active", + "docsUrl": "https://openrouter.ai/models", + "contextWindow": 1310720, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "z-ai/glm-5v-turbo": { "displayName": "GLM-5V-Turbo", "description": "Fast GLM vision model for screenshots, documents, and multimodal agent tasks", @@ -25677,6 +26153,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "toggle": true + }, "modalities": { "input": ["image", "text"], "output": ["text"] @@ -27275,7 +27754,7 @@ "contextWindow": 1048576, "maxOutputTokens": 384000, "structuredOutput": true, - "lastUpdated": "2026-08-12", + "lastUpdated": "2026-08-22", "capabilities": { "vision": false, "reasoning": true, @@ -27876,6 +28355,50 @@ "input": ["text"], "output": ["text"] } + }, + "zai-org/GLM-5.3": { + "displayName": "GLM-5.3", + "description": "Flagship GLM model for long-horizon coding, agents, and complex project delivery", + "lifecycle": "active", + "docsUrl": "https://docs.together.ai/docs/serverless-models", + "contextWindow": 1048576, + "maxOutputTokens": 262144, + "structuredOutput": true, + "lastUpdated": "2026-08-14", + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, + "zai-org/GLM-5.3-Flash": { + "displayName": "GLM-5.3-Flash", + "description": "Native multimodal GLM model for efficient coding and long-horizon agent tasks", + "lifecycle": "active", + "docsUrl": "https://docs.together.ai/docs/serverless-models", + "contextWindow": 1048575, + "maxOutputTokens": 400000, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } } }, "tencent-coding-plan": { @@ -28055,7 +28578,29 @@ "functionCalling": true }, "thinkingOptions": { - "efforts": ["low", "medium", "high"], + "efforts": ["none", "high"], + "toggle": true + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, + "hy4-preview": { + "displayName": "Hy4 preview", + "description": "A next-generation productivity model with significantly enhanced Agent and complex task execution capabilities.", + "lifecycle": "active", + "docsUrl": "https://cloud.tencent.com/document/product/1823/130060", + "contextWindow": 1024000, + "maxOutputTokens": 64000, + "lastUpdated": "2026-08-28", + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["none", "high"], "toggle": true }, "modalities": { @@ -28080,7 +28625,7 @@ "functionCalling": true }, "thinkingOptions": { - "efforts": ["low", "medium", "high"], + "efforts": ["none", "high"], "toggle": true }, "modalities": { @@ -28110,6 +28655,28 @@ "input": ["text"], "output": ["text"] } + }, + "hy4-preview": { + "displayName": "Hy4 preview", + "description": "A next-generation productivity model with significantly enhanced Agent and complex task execution capabilities.", + "lifecycle": "active", + "docsUrl": "https://cloud.tencent.com/document/product/1823/130050", + "contextWindow": 1024000, + "maxOutputTokens": 64000, + "lastUpdated": "2026-08-28", + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["none", "high"], + "toggle": true + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } } }, "vercel": { @@ -28678,7 +29245,7 @@ "lifecycle": "active", "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", "contextWindow": 262144, - "maxOutputTokens": 131072, + "maxOutputTokens": 128000, "structuredOutput": true, "lastUpdated": "2026-08-12", "capabilities": { @@ -28716,6 +29283,50 @@ "output": ["text"] } }, + "alibaba/qwen3.8-flash": { + "displayName": "Qwen 3.8 Flash", + "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 991000, + "maxOutputTokens": 128000, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "toggle": true + }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + } + }, + "alibaba/qwen3.8-flash-next": { + "displayName": "Qwen 3.8 Flash Next", + "description": "Open-weight experimental preview of the Qwen4 architecture: hybrid-attention MoE (125B total, 6B active) with vision encoder for coding, agent tasks, and image and video understanding", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 1048576, + "maxOutputTokens": 1048576, + "structuredOutput": true, + "lastUpdated": "2026-08-27", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "medium", "xhigh"] + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "alibaba/qwen3.8-max": { "displayName": "Qwen 3.8 Max", "description": "Preview Qwen flagship for million-token multimodal reasoning and long-horizon agentic workflows", @@ -28881,6 +29492,42 @@ "output": [] } }, + "alibaba/wan-v3.0-video": { + "displayName": "Wan v3.0 Video", + "description": "Video model for prompt-guided generation, editing, and motion workflows", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 0, + "maxOutputTokens": 0, + "lastUpdated": "2026-08-23", + "capabilities": { + "vision": true, + "reasoning": false, + "functionCalling": false + }, + "modalities": { + "input": ["text", "image"], + "output": [] + } + }, + "alibaba/wan-v3.0-video-prime": { + "displayName": "Wan v3.0 Video Prime", + "description": "Video model for prompt-guided generation, editing, and motion workflows", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 0, + "maxOutputTokens": 0, + "lastUpdated": "2026-08-28", + "capabilities": { + "vision": true, + "reasoning": false, + "functionCalling": false + }, + "modalities": { + "input": ["text", "image"], + "output": [] + } + }, "amazon/nova-2-lite": { "displayName": "Nova 2 Lite", "description": "Multimodal reasoning model for visual analysis, planning, and tool use", @@ -29323,25 +29970,6 @@ "output": ["text"] } }, - "arcee-ai/trinity-mini": { - "displayName": "Trinity Mini", - "description": "Reasoning-tuned 26B MoE model with 3B active parameters for agents, tools, and multi-step workloads", - "lifecycle": "active", - "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", - "contextWindow": 131072, - "maxOutputTokens": 131072, - "knowledgeCutoff": "2024-10", - "lastUpdated": "2025-12", - "capabilities": { - "vision": false, - "reasoning": false, - "functionCalling": false - }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, "bfl/flux-2-flex": { "displayName": "FLUX.2 [flex]", "description": "Image model for prompt-driven generation, editing, and visual design workflows", @@ -29621,6 +30249,24 @@ "output": [] } }, + "bytedance/seedance-2.0-mini": { + "displayName": "Seedance 2.0 Mini", + "description": "Video model for prompt-guided generation, editing, and motion workflows", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 0, + "maxOutputTokens": 0, + "lastUpdated": "2026-06-22", + "capabilities": { + "vision": true, + "reasoning": false, + "functionCalling": false + }, + "modalities": { + "input": ["text", "image"], + "output": [] + } + }, "bytedance/seedance-2.5": { "displayName": "Seedance 2.5", "description": "Video model for prompt-guided generation, editing, and motion workflows", @@ -30019,13 +30665,36 @@ "output": ["text"] } }, + "deepseek/deepseek-v4-flash-vision-exp": { + "displayName": "DeepSeek V4 Flash Vision Exp", + "description": "Experimental multimodal DeepSeek V4 Flash model for image understanding, coding, and agentic work", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 1000000, + "maxOutputTokens": 384000, + "structuredOutput": true, + "lastUpdated": "2026-08-21", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["high", "xhigh"], + "toggle": true + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "deepseek/deepseek-v4-pro": { "displayName": "DeepSeek V4 Pro", "description": "Open MoE flagship with million-token context for coding and long agent runs", "lifecycle": "active", "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", - "contextWindow": 1048600, - "maxOutputTokens": 1048600, + "contextWindow": 1000000, + "maxOutputTokens": 384000, "knowledgeCutoff": "2025-05", "structuredOutput": true, "lastUpdated": "2026-04-24", @@ -30051,7 +30720,7 @@ "contextWindow": 1000000, "maxOutputTokens": 384000, "structuredOutput": true, - "lastUpdated": "2026-08-12", + "lastUpdated": "2026-08-22", "capabilities": { "vision": false, "reasoning": true, @@ -30492,6 +31161,42 @@ "output": ["text"] } }, + "google/gemini-3.5-transcribe": { + "displayName": "Gemini 3.5 Transcribe", + "description": "Speech transcription model for accurate audio-to-text and captioning workflows", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 0, + "maxOutputTokens": 0, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": false, + "reasoning": false, + "functionCalling": false + }, + "modalities": { + "input": ["audio"], + "output": ["text"] + } + }, + "google/gemini-3.5-transcribe-live": { + "displayName": "Gemini 3.5 Transcribe Live", + "description": "Speech transcription model for accurate audio-to-text and captioning workflows", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 0, + "maxOutputTokens": 0, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": false, + "reasoning": false, + "functionCalling": false + }, + "modalities": { + "input": ["audio"], + "output": ["text"] + } + }, "google/gemini-3.6-flash": { "displayName": "Gemini 3.6 Flash", "description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost", @@ -30815,6 +31520,50 @@ "output": ["text"] } }, + "inclusionai/ling-3.0-flash-fin": { + "displayName": "Ling 3.0 Flash Fin", + "description": "Finance-enhanced model for financial research, multi-step investment workflows, and long-horizon planning and execution", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 256000, + "maxOutputTokens": 32000, + "lastUpdated": "2026-08-27", + "isFree": true, + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "toggle": true + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, + "inclusionai/ling-3.0-flash-fin-free": { + "displayName": "Ling 3.0 Flash Fin (Free)", + "description": "Finance-enhanced model for financial research, multi-step investment workflows, and long-horizon planning and execution", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 256000, + "maxOutputTokens": 32000, + "lastUpdated": "2026-08-27", + "isFree": true, + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "toggle": true + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, "interfaze/interfaze-beta": { "displayName": "Interfaze Beta", "description": "Multimodal reasoning model for visual analysis, planning, and tool use", @@ -31174,6 +31923,24 @@ "output": ["text"] } }, + "meta/muse-image-1.0": { + "displayName": "Muse Image 1.0", + "description": "Image model for prompt-driven generation, editing, and visual design workflows", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 0, + "maxOutputTokens": 0, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": false, + "functionCalling": false + }, + "modalities": { + "input": ["text", "image"], + "output": ["image"] + } + }, "meta/muse-spark-1.1": { "displayName": "Muse Spark 1.1", "description": "Open Llama instruction model for multilingual chat, reasoning, and coding", @@ -31251,6 +32018,24 @@ "output": [] } }, + "minimax/minimax-h3-max": { + "displayName": "MiniMax H3 Max", + "description": "Video model for prompt-guided generation, editing, and motion workflows", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 0, + "maxOutputTokens": 0, + "lastUpdated": "2026-08-27", + "capabilities": { + "vision": true, + "reasoning": false, + "functionCalling": false + }, + "modalities": { + "input": ["text", "image"], + "output": [] + } + }, "minimax/minimax-m2": { "displayName": "MiniMax M2", "description": "Efficient open MiniMax model built for coding agents and tool-heavy workflows", @@ -31361,6 +32146,25 @@ "output": ["text"] } }, + "minimax/minimax-m2.7-free": { + "displayName": "Minimax M2.7 (Free)", + "description": "Open MiniMax flagship for coding agents, office automation, and complex environments", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 196608, + "maxOutputTokens": 196608, + "lastUpdated": "2026-03-18", + "isFree": true, + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, "minimax/minimax-m2.7-highspeed": { "displayName": "MiniMax M2.7 High Speed", "description": "Low-latency M2.7 variant for interactive coding plans and agent loops", @@ -31384,8 +32188,8 @@ "description": "MiniMax multimodal model for long-context coding, perception, and agent planning", "lifecycle": "active", "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", - "contextWindow": 1000000, - "maxOutputTokens": 1000000, + "contextWindow": 512000, + "maxOutputTokens": 512000, "lastUpdated": "2026-06-01", "capabilities": { "vision": true, @@ -31400,6 +32204,28 @@ "output": ["text"] } }, + "minimax/minimax-m3-free": { + "displayName": "MiniMax M3 (Free)", + "description": "MiniMax multimodal model for long-context coding, perception, and agent planning", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 1048576, + "maxOutputTokens": 1048576, + "lastUpdated": "2026-06-01", + "isFree": true, + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "toggle": true + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "mistral/codestral": { "displayName": "Codestral (latest)", "description": "Mistral code model for completions, refactors, and developer IDE workflows", @@ -31475,44 +32301,6 @@ "output": ["text"] } }, - "mistral/magistral-medium": { - "displayName": "Magistral Medium (latest)", - "description": "Mistral reasoning model for transparent analysis, math, and complex decisions", - "lifecycle": "active", - "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", - "contextWindow": 128000, - "maxOutputTokens": 16384, - "knowledgeCutoff": "2025-06", - "lastUpdated": "2025-03-20", - "capabilities": { - "vision": false, - "reasoning": true, - "functionCalling": true - }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, - "mistral/magistral-small": { - "displayName": "Magistral Small", - "description": "Mistral reasoning model for transparent analysis, math, and complex decisions", - "lifecycle": "active", - "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", - "contextWindow": 128000, - "maxOutputTokens": 128000, - "knowledgeCutoff": "2025-06", - "lastUpdated": "2025-03-17", - "capabilities": { - "vision": false, - "reasoning": true, - "functionCalling": true - }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, "mistral/ministral-14b": { "displayName": "Ministral 14B", "description": "Compact Mistral model for edge, latency-sensitive, and cost-efficient workloads", @@ -32277,27 +33065,6 @@ "output": ["text"] } }, - "openai/gpt-4o-mini-search-preview": { - "displayName": "GPT 4o Mini Search Preview", - "description": "Compact GPT model for low-latency assistance and high-volume workloads", - "lifecycle": "active", - "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", - "contextWindow": 128000, - "inputLimit": 111616, - "maxOutputTokens": 16384, - "knowledgeCutoff": "2023-09", - "structuredOutput": false, - "lastUpdated": "2025-01", - "capabilities": { - "vision": false, - "reasoning": false, - "functionCalling": false - }, - "modalities": { - "input": ["text"], - "output": ["text"] - } - }, "openai/gpt-4o-mini-transcribe": { "displayName": "GPT-4o mini Transcribe", "description": "Speech transcription model for accurate audio-to-text and captioning workflows", @@ -32374,6 +33141,9 @@ "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "efforts": ["low", "medium", "high"] + }, "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] @@ -33236,14 +34006,37 @@ "output": ["text"] } }, + "openai/gpt-oss-safeguard-120b": { + "displayName": "GPT OSS Safeguard 120B", + "description": "Safety model for policy screening, moderation, and risk-aware routing workflows", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 128000, + "inputLimit": 112000, + "maxOutputTokens": 16000, + "structuredOutput": true, + "lastUpdated": "2025-10-29", + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "medium", "high"] + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, "openai/gpt-oss-safeguard-20b": { "displayName": "gpt-oss-safeguard-20b", "description": "Safety model for policy screening, moderation, and risk-aware routing workflows", "lifecycle": "active", "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", - "contextWindow": 131072, - "inputLimit": 65536, - "maxOutputTokens": 65536, + "contextWindow": 128000, + "inputLimit": 112000, + "maxOutputTokens": 16000, "knowledgeCutoff": "2024-10", "lastUpdated": "2024-12-01", "capabilities": { @@ -33401,29 +34194,6 @@ "output": ["text"] } }, - "openai/o3-deep-research": { - "displayName": "o3-deep-research", - "description": "Research model for long-horizon investigation, synthesis, and analytical reports", - "lifecycle": "active", - "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", - "contextWindow": 200000, - "inputLimit": 100000, - "maxOutputTokens": 100000, - "knowledgeCutoff": "2024-05", - "lastUpdated": "2024-06-26", - "capabilities": { - "vision": true, - "reasoning": true, - "functionCalling": true - }, - "thinkingOptions": { - "efforts": ["medium"] - }, - "modalities": { - "input": ["text", "image", "pdf"], - "output": ["text"] - } - }, "openai/o3-fast": { "displayName": "o3 (Fast)", "description": "Deliberate o-series reasoner for hard math, coding, and multi-step analysis", @@ -34162,12 +34932,16 @@ "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", "contextWindow": 1000000, "maxOutputTokens": 1000000, - "lastUpdated": "2026-04-30", + "structuredOutput": true, + "lastUpdated": "2026-04-17", "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "efforts": ["low", "medium", "high"] + }, "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] @@ -34180,12 +34954,16 @@ "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", "contextWindow": 500000, "maxOutputTokens": 500000, + "structuredOutput": true, "lastUpdated": "2026-07-08", "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "efforts": ["low", "medium", "high"] + }, "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] @@ -34198,12 +34976,17 @@ "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", "contextWindow": 500000, "maxOutputTokens": 500000, + "knowledgeCutoff": "2026-02-01", + "structuredOutput": true, "lastUpdated": "2026-08-12", "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, + "thinkingOptions": { + "efforts": ["low", "medium", "high"] + }, "modalities": { "input": ["text", "image"], "output": ["text"] @@ -34216,7 +34999,8 @@ "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", "contextWindow": 256000, "maxOutputTokens": 256000, - "lastUpdated": "2026-05-20", + "structuredOutput": true, + "lastUpdated": "2026-04-16", "capabilities": { "vision": true, "reasoning": true, @@ -34288,7 +35072,7 @@ "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", "contextWindow": 0, "maxOutputTokens": 0, - "lastUpdated": "2026-06-22", + "lastUpdated": "2026-05-30", "capabilities": { "vision": false, "reasoning": false, @@ -34493,8 +35277,8 @@ "description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks", "lifecycle": "active", "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", - "contextWindow": 256000, - "maxOutputTokens": 128000, + "contextWindow": 262144, + "maxOutputTokens": 262144, "lastUpdated": "2026-07-06", "capabilities": { "vision": false, @@ -34509,6 +35293,27 @@ "output": ["text"] } }, + "tencent/hy4-preview": { + "displayName": "Tencent Hy4 Preview", + "description": "A next-generation productivity model with significantly enhanced Agent and complex task execution capabilities.", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 1024000, + "maxOutputTokens": 64000, + "lastUpdated": "2026-08-28", + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["none", "high"] + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, "thinkingmachines/inkling": { "displayName": "Inkling", "description": "Multimodal MoE reasoning model (975B total, 41B active) for text, image, and audio", @@ -35082,7 +35887,7 @@ "lifecycle": "active", "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", "contextWindow": 1000000, - "maxOutputTokens": 12800, + "maxOutputTokens": 1000000, "structuredOutput": true, "lastUpdated": "2026-08-14", "capabilities": { @@ -35098,6 +35903,28 @@ "output": ["text"] } }, + "zai/glm-5.3-flash": { + "displayName": "GLM 5.3 Flash", + "description": "Native multimodal GLM model for efficient coding and long-horizon agent tasks", + "lifecycle": "active", + "docsUrl": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "contextWindow": 1000000, + "maxOutputTokens": 131000, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + } + }, "zai/glm-5v-turbo": { "displayName": "GLM 5V Turbo", "description": "Fast GLM vision model for screenshots, documents, and multimodal agent tasks", @@ -36221,6 +37048,50 @@ "output": ["text"] } }, + "glm-5.3": { + "displayName": "GLM-5.3", + "description": "Flagship GLM model for long-horizon coding, agents, and complex project delivery", + "lifecycle": "active", + "docsUrl": "https://docs.z.ai/guides/overview/pricing", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-14", + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, + "glm-5.3-flash": { + "displayName": "GLM-5.3-Flash", + "description": "Native multimodal GLM model for efficient coding and long-horizon agent tasks", + "lifecycle": "active", + "docsUrl": "https://docs.z.ai/guides/overview/pricing", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + } + }, "glm-5v-turbo": { "displayName": "GLM-5V-Turbo", "description": "Fast GLM vision model for screenshots, documents, and multimodal agent tasks", @@ -36313,15 +37184,38 @@ "output": ["text"] } }, - "glm-5.2-highspeed": { - "displayName": "GLM-5.2 Highspeed", - "description": "Open flagship GLM for long-horizon coding agents and million-token context work", + "glm-5.2-highspeed": { + "displayName": "GLM-5.2 Highspeed", + "description": "Open flagship GLM for long-horizon coding agents and million-token context work", + "lifecycle": "active", + "docsUrl": "https://docs.z.ai/devpack/overview", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-06-13", + "isFree": true, + "capabilities": { + "vision": false, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["high", "max"] + }, + "modalities": { + "input": ["text"], + "output": ["text"] + } + }, + "glm-5.3": { + "displayName": "GLM-5.3", + "description": "Flagship GLM model for long-horizon coding, agents, and complex project delivery", "lifecycle": "active", "docsUrl": "https://docs.z.ai/devpack/overview", "contextWindow": 1000000, "maxOutputTokens": 131072, "structuredOutput": true, - "lastUpdated": "2026-06-13", + "lastUpdated": "2026-08-14", "isFree": true, "capabilities": { "vision": false, @@ -36329,15 +37223,38 @@ "functionCalling": true }, "thinkingOptions": { - "efforts": ["high", "max"] + "efforts": ["low", "high", "max"] }, "modalities": { "input": ["text"], "output": ["text"] } }, - "glm-5.3": { - "displayName": "GLM-5.3", + "glm-5.3-flash": { + "displayName": "GLM-5.3-Flash", + "description": "Native multimodal GLM model for efficient coding and long-horizon agent tasks", + "lifecycle": "active", + "docsUrl": "https://docs.z.ai/devpack/overview", + "contextWindow": 1000000, + "maxOutputTokens": 131072, + "structuredOutput": true, + "lastUpdated": "2026-08-26", + "isFree": true, + "capabilities": { + "vision": true, + "reasoning": true, + "functionCalling": true + }, + "thinkingOptions": { + "efforts": ["low", "high", "max"] + }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + } + }, + "glm-5.3-highspeed": { + "displayName": "GLM-5.3 Highspeed", "description": "Flagship GLM model for long-horizon coding, agents, and complex project delivery", "lifecycle": "active", "docsUrl": "https://docs.z.ai/devpack/overview", @@ -37181,8 +38098,8 @@ "description": "MiniMax multimodal model for long-context coding, perception, and agent planning", "lifecycle": "active", "docsUrl": "https://docs.zenmux.ai", - "contextWindow": 512000, - "maxOutputTokens": 128000, + "contextWindow": 1048576, + "maxOutputTokens": 512000, "lastUpdated": "2026-06-01", "capabilities": { "vision": true, @@ -39108,16 +40025,6 @@ "inputUsdPer1M": 0.035, "outputUsdPer1M": 0.035 }, - { - "modelKey": "alibaba:qwen3-coder-30b-a3b-instruct", - "inputUsdPer1M": 0.45, - "outputUsdPer1M": 2.25 - }, - { - "modelKey": "alibaba:qwen3-coder-480b-a35b-instruct", - "inputUsdPer1M": 1.5, - "outputUsdPer1M": 7.5 - }, { "modelKey": "alibaba:qwen3-coder-flash", "inputUsdPer1M": 0.3, @@ -39228,6 +40135,13 @@ "cacheReadUsdPer1M": 0.5, "cacheWriteUsdPer1M": 3.125 }, + { + "modelKey": "alibaba:qwen3.8-flash", + "inputUsdPer1M": 0.15, + "outputUsdPer1M": 0.47, + "cacheReadUsdPer1M": 0.016, + "cacheWriteUsdPer1M": 0.2 + }, { "modelKey": "alibaba:qwen3.8-max", "inputUsdPer1M": 2, @@ -39307,17 +40221,6 @@ "outputUsdPer1M": 0.87, "cacheReadUsdPer1M": 0.003625 }, - { - "modelKey": "alibaba-cn:glm-5", - "inputUsdPer1M": 0.86, - "outputUsdPer1M": 3.15 - }, - { - "modelKey": "alibaba-cn:glm-5.1", - "inputUsdPer1M": 0.87, - "outputUsdPer1M": 3.48, - "cacheReadUsdPer1M": 0.17 - }, { "modelKey": "alibaba-cn:glm-5.2", "inputUsdPer1M": 1.1, @@ -39426,7 +40329,9 @@ { "modelKey": "alibaba-cn:qwen-plus", "inputUsdPer1M": 0.115, - "outputUsdPer1M": 0.287 + "outputUsdPer1M": 0.287, + "cacheReadUsdPer1M": 0.012, + "cacheWriteUsdPer1M": 0.144 }, { "modelKey": "alibaba-cn:qwen-plus-character", @@ -39533,16 +40438,6 @@ "inputUsdPer1M": 0.032, "outputUsdPer1M": 0.032 }, - { - "modelKey": "alibaba-cn:qwen3-coder-30b-a3b-instruct", - "inputUsdPer1M": 0.216, - "outputUsdPer1M": 0.861 - }, - { - "modelKey": "alibaba-cn:qwen3-coder-480b-a35b-instruct", - "inputUsdPer1M": 0.861, - "outputUsdPer1M": 3.441 - }, { "modelKey": "alibaba-cn:qwen3-coder-flash", "inputUsdPer1M": 0.144, @@ -39593,11 +40488,6 @@ "inputUsdPer1M": 0.143353, "outputUsdPer1M": 1.433525 }, - { - "modelKey": "alibaba-cn:qwen3.5-397b-a17b", - "inputUsdPer1M": 0.43, - "outputUsdPer1M": 2.58 - }, { "modelKey": "alibaba-cn:qwen3.5-flash", "inputUsdPer1M": 0.172, @@ -39627,6 +40517,13 @@ "cacheReadUsdPer1M": 0.5, "cacheWriteUsdPer1M": 3.125 }, + { + "modelKey": "alibaba-cn:qwen3.8-flash", + "inputUsdPer1M": 0.11875, + "outputUsdPer1M": 0.40073, + "cacheReadUsdPer1M": 0.01187, + "cacheWriteUsdPer1M": 0.14844 + }, { "modelKey": "alibaba-cn:qwen3.8-max", "inputUsdPer1M": 1.77744, @@ -39860,6 +40757,18 @@ "outputUsdPer1M": 4.4, "cacheReadUsdPer1M": 0.26 }, + { + "modelKey": "cloudflare-workers-ai:@cf/zai-org/glm-5.3", + "inputUsdPer1M": 1.4, + "outputUsdPer1M": 4.4, + "cacheReadUsdPer1M": 0.26 + }, + { + "modelKey": "cloudflare-workers-ai:@cf/zai-org/glm-5.3-flash", + "inputUsdPer1M": 0.15, + "outputUsdPer1M": 0.5, + "cacheReadUsdPer1M": 0.03 + }, { "modelKey": "deepinfra:deepseek-ai/DeepSeek-R1-0528", "inputUsdPer1M": 0.5, @@ -40171,19 +41080,25 @@ "cacheReadUsdPer1M": 0.14 }, { - "modelKey": "deepseek:deepseek-chat", - "inputUsdPer1M": 0.14, - "outputUsdPer1M": 0.28, - "cacheReadUsdPer1M": 0.0028 + "modelKey": "deepinfra:zai-org/GLM-5.3", + "inputUsdPer1M": 1.2, + "outputUsdPer1M": 4, + "cacheReadUsdPer1M": 0.12 }, { - "modelKey": "deepseek:deepseek-reasoner", + "modelKey": "deepinfra:zai-org/GLM-5.3-Flash", + "inputUsdPer1M": 0.15, + "outputUsdPer1M": 0.5, + "cacheReadUsdPer1M": 0.03 + }, + { + "modelKey": "deepseek:deepseek-v4-flash", "inputUsdPer1M": 0.14, "outputUsdPer1M": 0.28, "cacheReadUsdPer1M": 0.0028 }, { - "modelKey": "deepseek:deepseek-v4-flash", + "modelKey": "deepseek:deepseek-v4-flash-vision-exp", "inputUsdPer1M": 0.14, "outputUsdPer1M": 0.28, "cacheReadUsdPer1M": 0.0028 @@ -40194,24 +41109,12 @@ "outputUsdPer1M": 0.87, "cacheReadUsdPer1M": 0.003625 }, - { - "modelKey": "fireworks-ai:accounts/fireworks/models/deepseek-v4-flash", - "inputUsdPer1M": 0.14, - "outputUsdPer1M": 0.28, - "cacheReadUsdPer1M": 0.028 - }, { "modelKey": "fireworks-ai:accounts/fireworks/models/deepseek-v4-flash-0731", "inputUsdPer1M": 0.14, "outputUsdPer1M": 0.28, "cacheReadUsdPer1M": 0.028 }, - { - "modelKey": "fireworks-ai:accounts/fireworks/models/deepseek-v4-pro", - "inputUsdPer1M": 1.74, - "outputUsdPer1M": 3.48, - "cacheReadUsdPer1M": 0.145 - }, { "modelKey": "fireworks-ai:accounts/fireworks/models/deepseek-v4-pro-0813", "inputUsdPer1M": 1.32, @@ -40224,18 +41127,24 @@ "outputUsdPer1M": 4.4, "cacheReadUsdPer1M": 0.14 }, + { + "modelKey": "fireworks-ai:accounts/fireworks/models/glm-5p3", + "inputUsdPer1M": 1.4, + "outputUsdPer1M": 4.4, + "cacheReadUsdPer1M": 0.26 + }, + { + "modelKey": "fireworks-ai:accounts/fireworks/models/glm-5p3-flash", + "inputUsdPer1M": 0.15, + "outputUsdPer1M": 0.5, + "cacheReadUsdPer1M": 0.029 + }, { "modelKey": "fireworks-ai:accounts/fireworks/models/gpt-oss-120b", "inputUsdPer1M": 0.15, "outputUsdPer1M": 0.6, "cacheReadUsdPer1M": 0.015 }, - { - "modelKey": "fireworks-ai:accounts/fireworks/models/gpt-oss-20b", - "inputUsdPer1M": 0.07, - "outputUsdPer1M": 0.3, - "cacheReadUsdPer1M": 0.035 - }, { "modelKey": "fireworks-ai:accounts/fireworks/models/inkling", "inputUsdPer1M": 1, @@ -40260,12 +41169,6 @@ "outputUsdPer1M": 15, "cacheReadUsdPer1M": 0.3 }, - { - "modelKey": "fireworks-ai:accounts/fireworks/models/minimax-m2p7", - "inputUsdPer1M": 0.3, - "outputUsdPer1M": 1.2, - "cacheReadUsdPer1M": 0.06 - }, { "modelKey": "fireworks-ai:accounts/fireworks/models/minimax-m3", "inputUsdPer1M": 0.3, @@ -40308,24 +41211,6 @@ "outputUsdPer1M": 6.6, "cacheReadUsdPer1M": 0.21 }, - { - "modelKey": "fireworks-ai:accounts/fireworks/routers/kimi-k2p6-fast", - "inputUsdPer1M": 2, - "outputUsdPer1M": 8, - "cacheReadUsdPer1M": 0.3 - }, - { - "modelKey": "fireworks-ai:accounts/fireworks/routers/kimi-k2p6-turbo", - "inputUsdPer1M": 2, - "outputUsdPer1M": 8, - "cacheReadUsdPer1M": 0.3 - }, - { - "modelKey": "fireworks-ai:accounts/fireworks/routers/kimi-k2p7-code-fast", - "inputUsdPer1M": 1.9, - "outputUsdPer1M": 8, - "cacheReadUsdPer1M": 0.38 - }, { "modelKey": "fireworks-ai:accounts/fireworks/routers/kimi-k3-fast", "inputUsdPer1M": 4.5, @@ -40469,11 +41354,6 @@ "inputUsdPer1M": 1.5, "outputUsdPer1M": 17.5 }, - { - "modelKey": "google:gemini-robotics-er-1.6-preview", - "inputUsdPer1M": 1, - "outputUsdPer1M": 5 - }, { "modelKey": "google:lyria-3-clip-preview", "inputUsdPer1M": 0, @@ -40532,6 +41412,11 @@ "outputUsdPer1M": 3, "cacheReadUsdPer1M": 0.3 }, + { + "modelKey": "groq:qwen/qwen3.8-27b", + "inputUsdPer1M": 0.8, + "outputUsdPer1M": 4 + }, { "modelKey": "huggingface:deepseek-ai/DeepSeek-R1", "inputUsdPer1M": 0.7, @@ -40793,6 +41678,11 @@ "inputUsdPer1M": 2.5, "outputUsdPer1M": 6.25 }, + { + "modelKey": "huggingface:Qwen/Qwen3.8-27B", + "inputUsdPer1M": 0.4, + "outputUsdPer1M": 3 + }, { "modelKey": "huggingface:stepfun-ai/Step-3.5-Flash", "inputUsdPer1M": 0.1, @@ -40886,6 +41776,16 @@ "inputUsdPer1M": 1.4, "outputUsdPer1M": 4.4 }, + { + "modelKey": "huggingface:zai-org/GLM-5.3", + "inputUsdPer1M": 1.4, + "outputUsdPer1M": 4.4 + }, + { + "modelKey": "huggingface:zai-org/GLM-5.3-Flash", + "inputUsdPer1M": 0.15, + "outputUsdPer1M": 0.5 + }, { "modelKey": "MiniMax:MiniMax-M2", "inputUsdPer1M": 0.3, @@ -41081,6 +41981,12 @@ "inputUsdPer1M": 0.1, "outputUsdPer1M": 0.3 }, + { + "modelKey": "mistral:zai-glm-5-2", + "inputUsdPer1M": 1.4, + "outputUsdPer1M": 4.4, + "cacheReadUsdPer1M": 0.14 + }, { "modelKey": "moonshot:kimi-k2-0711-preview", "inputUsdPer1M": 0.6, @@ -41182,12 +42088,22 @@ "outputUsdPer1M": 0.28, "cacheReadUsdPer1M": 0.0028 }, + { + "modelKey": "nvidia:deepseek-ai/deepseek-v4-flash-0731", + "inputUsdPer1M": 0, + "outputUsdPer1M": 0 + }, { "modelKey": "nvidia:deepseek-ai/deepseek-v4-pro", "inputUsdPer1M": 0.435, "outputUsdPer1M": 0.87, "cacheReadUsdPer1M": 0.003625 }, + { + "modelKey": "nvidia:deepseek-ai/deepseek-v4-pro-0813", + "inputUsdPer1M": 0, + "outputUsdPer1M": 0 + }, { "modelKey": "nvidia:google/gemma-2-2b-it", "inputUsdPer1M": 0, @@ -41363,6 +42279,11 @@ "inputUsdPer1M": 0, "outputUsdPer1M": 0 }, + { + "modelKey": "nvidia:moonshotai/kimi-k3", + "inputUsdPer1M": 0, + "outputUsdPer1M": 0 + }, { "modelKey": "nvidia:nvidia/active-speaker-detection", "inputUsdPer1M": 0, @@ -42186,6 +43107,12 @@ "inputUsdPer1M": 0, "outputUsdPer1M": 0 }, + { + "modelKey": "opencode:ling-3.0-flash-fin-free", + "inputUsdPer1M": 0, + "outputUsdPer1M": 0, + "cacheReadUsdPer1M": 0 + }, { "modelKey": "opencode:ling-3.0-flash-free", "inputUsdPer1M": 0, @@ -42375,22 +43302,22 @@ }, { "modelKey": "openrouter:~deepseek/deepseek-v4-flash-latest", - "inputUsdPer1M": 0.065, - "outputUsdPer1M": 0.18, - "cacheReadUsdPer1M": 0.02 + "inputUsdPer1M": 0.05, + "outputUsdPer1M": 0.16, + "cacheReadUsdPer1M": 0.013 }, { "modelKey": "openrouter:~google/gemini-flash-latest", - "inputUsdPer1M": 0.375, - "outputUsdPer1M": 1.875, - "cacheReadUsdPer1M": 0.0375, - "cacheWriteUsdPer1M": 0.020833 + "inputUsdPer1M": 0.75, + "outputUsdPer1M": 3.75, + "cacheReadUsdPer1M": 0.075, + "cacheWriteUsdPer1M": 0.041667 }, { "modelKey": "openrouter:~moonshotai/kimi-latest", - "inputUsdPer1M": 2.6, - "outputUsdPer1M": 13, - "cacheReadUsdPer1M": 0.29 + "inputUsdPer1M": 2.55, + "outputUsdPer1M": 12.75, + "cacheReadUsdPer1M": 0.256 }, { "modelKey": "openrouter:~openai/gpt-mini-latest", @@ -42400,9 +43327,9 @@ }, { "modelKey": "openrouter:~z-ai/glm-latest", - "inputUsdPer1M": 1.4, - "outputUsdPer1M": 4.4, - "cacheReadUsdPer1M": 0.26 + "inputUsdPer1M": 1.17, + "outputUsdPer1M": 3.96, + "cacheReadUsdPer1M": 0.234 }, { "modelKey": "openrouter:aion-labs/aion-2.0", @@ -42427,11 +43354,6 @@ "inputUsdPer1M": 0.8, "outputUsdPer1M": 1.6 }, - { - "modelKey": "openrouter:allenai/olmo-3-32b-think", - "inputUsdPer1M": 0.15, - "outputUsdPer1M": 0.5 - }, { "modelKey": "openrouter:amazon/nova-2-lite-v1", "inputUsdPer1M": 0.3, @@ -42549,15 +43471,10 @@ }, { "modelKey": "openrouter:arcee-ai/trinity-large-thinking", - "inputUsdPer1M": 0.22, - "outputUsdPer1M": 0.85, + "inputUsdPer1M": 0.25, + "outputUsdPer1M": 0.8, "cacheReadUsdPer1M": 0.06 }, - { - "modelKey": "openrouter:arcee-ai/virtuoso-large", - "inputUsdPer1M": 0.75, - "outputUsdPer1M": 1.2 - }, { "modelKey": "openrouter:baidu/ernie-4.5-vl-424b-a47b", "inputUsdPer1M": 0.42, @@ -42604,11 +43521,6 @@ "inputUsdPer1M": 0, "outputUsdPer1M": 0 }, - { - "modelKey": "openrouter:deepcogito/cogito-v2.1-671b", - "inputUsdPer1M": 1.25, - "outputUsdPer1M": 1.25 - }, { "modelKey": "openrouter:deepseek/deepseek-chat", "inputUsdPer1M": 0.2574, @@ -42621,9 +43533,9 @@ }, { "modelKey": "openrouter:deepseek/deepseek-chat-v3.1", - "inputUsdPer1M": 0.25, - "outputUsdPer1M": 0.95, - "cacheReadUsdPer1M": 0.13 + "inputUsdPer1M": 0.55, + "outputUsdPer1M": 1.65, + "cacheReadUsdPer1M": 0.55 }, { "modelKey": "openrouter:deepseek/deepseek-r1", @@ -42660,13 +43572,13 @@ }, { "modelKey": "openrouter:deepseek/deepseek-v4-flash", - "inputUsdPer1M": 0.0826, - "outputUsdPer1M": 0.1652, - "cacheReadUsdPer1M": 0.01652 + "inputUsdPer1M": 0.08092, + "outputUsdPer1M": 0.16184, + "cacheReadUsdPer1M": 0.016184 }, { "modelKey": "openrouter:deepseek/deepseek-v4-flash-0731", - "inputUsdPer1M": 0.08, + "inputUsdPer1M": 0.065, "outputUsdPer1M": 0.18, "cacheReadUsdPer1M": 0.016 }, @@ -42678,15 +43590,15 @@ }, { "modelKey": "openrouter:deepseek/deepseek-v4-pro", - "inputUsdPer1M": 1.6, - "outputUsdPer1M": 3.2, - "cacheReadUsdPer1M": 0.135 + "inputUsdPer1M": 0.87, + "outputUsdPer1M": 1.74, + "cacheReadUsdPer1M": 0.0725 }, { "modelKey": "openrouter:deepseek/deepseek-v4-pro-0813", - "inputUsdPer1M": 1.188, - "outputUsdPer1M": 3.564, - "cacheReadUsdPer1M": 0.0396 + "inputUsdPer1M": 0.66, + "outputUsdPer1M": 1.98, + "cacheReadUsdPer1M": 0.022 }, { "modelKey": "openrouter:dots-studio/dots-3-note-preview:free", @@ -42787,10 +43699,10 @@ }, { "modelKey": "openrouter:google/gemini-3.7-flash", - "inputUsdPer1M": 0.375, - "outputUsdPer1M": 1.875, - "cacheReadUsdPer1M": 0.0375, - "cacheWriteUsdPer1M": 0.020833 + "inputUsdPer1M": 0.75, + "outputUsdPer1M": 3.75, + "cacheReadUsdPer1M": 0.075, + "cacheWriteUsdPer1M": 0.041667 }, { "modelKey": "openrouter:google/gemma-2-27b-it", @@ -42813,11 +43725,6 @@ "inputUsdPer1M": 0.05, "outputUsdPer1M": 0.1 }, - { - "modelKey": "openrouter:google/gemma-3n-e4b-it", - "inputUsdPer1M": 0.06, - "outputUsdPer1M": 0.12 - }, { "modelKey": "openrouter:google/gemma-4-26b-a4b-it", "inputUsdPer1M": 0.07, @@ -42830,9 +43737,9 @@ }, { "modelKey": "openrouter:google/gemma-4-31b-it", - "inputUsdPer1M": 0.1, + "inputUsdPer1M": 0.09, "outputUsdPer1M": 0.34, - "cacheReadUsdPer1M": 0.1 + "cacheReadUsdPer1M": 0.05 }, { "modelKey": "openrouter:google/gemma-4-31b-it:free", @@ -42865,24 +43772,18 @@ "outputUsdPer1M": 0.1, "cacheReadUsdPer1M": 0.05 }, + { + "modelKey": "openrouter:ibm-granite/granite-4.2-8b", + "inputUsdPer1M": 0.1, + "outputUsdPer1M": 0.15, + "cacheReadUsdPer1M": 0.05 + }, { "modelKey": "openrouter:inception/mercury-2", "inputUsdPer1M": 0.25, "outputUsdPer1M": 0.75, "cacheReadUsdPer1M": 0.025 }, - { - "modelKey": "openrouter:inclusionai/ling-2.6-1t", - "inputUsdPer1M": 0.075, - "outputUsdPer1M": 0.625, - "cacheReadUsdPer1M": 0.015 - }, - { - "modelKey": "openrouter:inclusionai/ling-2.6-flash", - "inputUsdPer1M": 0.01, - "outputUsdPer1M": 0.03, - "cacheReadUsdPer1M": 0.002 - }, { "modelKey": "openrouter:inclusionai/ling-3.0-flash", "inputUsdPer1M": 0.021, @@ -42890,16 +43791,9 @@ "cacheReadUsdPer1M": 0.0042 }, { - "modelKey": "openrouter:inclusionai/ring-2.6-1t", - "inputUsdPer1M": 0.075, - "outputUsdPer1M": 0.625, - "cacheReadUsdPer1M": 0.015 - }, - { - "modelKey": "openrouter:kwaipilot/kat-coder-air-v2.5", - "inputUsdPer1M": 0.15, - "outputUsdPer1M": 0.6, - "cacheReadUsdPer1M": 0.03 + "modelKey": "openrouter:inclusionai/ling-3.0-flash-fin:free", + "inputUsdPer1M": 0, + "outputUsdPer1M": 0 }, { "modelKey": "openrouter:kwaipilot/kat-coder-pro-v2", @@ -42952,18 +43846,20 @@ }, { "modelKey": "openrouter:meta-llama/llama-3.3-70b-instruct", - "inputUsdPer1M": 0.1, - "outputUsdPer1M": 0.32 + "inputUsdPer1M": 0.71, + "outputUsdPer1M": 0.71, + "cacheReadUsdPer1M": 0.71 }, { "modelKey": "openrouter:meta-llama/llama-4-maverick", "inputUsdPer1M": 0.2, - "outputUsdPer1M": 0.8 + "outputUsdPer1M": 0.696 }, { "modelKey": "openrouter:meta-llama/llama-4-scout", - "inputUsdPer1M": 0.1, - "outputUsdPer1M": 0.3 + "inputUsdPer1M": 0.11, + "outputUsdPer1M": 0.34, + "cacheReadUsdPer1M": 0.055 }, { "modelKey": "openrouter:meta-llama/llama-guard-4-12b", @@ -42973,7 +43869,7 @@ { "modelKey": "openrouter:meta/muse-glimmer-30b", "inputUsdPer1M": 0.3, - "outputUsdPer1M": 1.1, + "outputUsdPer1M": 1.2, "cacheReadUsdPer1M": 0.04 }, { @@ -42988,6 +43884,12 @@ "outputUsdPer1M": 4.25, "cacheReadUsdPer1M": 0.15 }, + { + "modelKey": "openrouter:meta/muse-spark-1.2-contributor", + "inputUsdPer1M": 0.1, + "outputUsdPer1M": 0.2, + "cacheReadUsdPer1M": 0.002 + }, { "modelKey": "openrouter:microsoft/phi-4", "inputUsdPer1M": 0.07, @@ -43028,8 +43930,8 @@ { "modelKey": "openrouter:minimax/minimax-m2.5", "inputUsdPer1M": 0.27, - "outputUsdPer1M": 0.95, - "cacheReadUsdPer1M": 0.03 + "outputUsdPer1M": 1.08, + "cacheReadUsdPer1M": 0.027 }, { "modelKey": "openrouter:minimax/minimax-m2.7", @@ -43037,18 +43939,34 @@ "outputUsdPer1M": 1.2, "cacheReadUsdPer1M": 0.06 }, + { + "modelKey": "openrouter:minimax/minimax-m2.7:free", + "inputUsdPer1M": 0, + "outputUsdPer1M": 0 + }, { "modelKey": "openrouter:minimax/minimax-m3", "inputUsdPer1M": 0.3, "outputUsdPer1M": 1.2, "cacheReadUsdPer1M": 0.06 }, + { + "modelKey": "openrouter:minimax/minimax-m3:free", + "inputUsdPer1M": 0, + "outputUsdPer1M": 0 + }, { "modelKey": "openrouter:mistralai/codestral-2508", "inputUsdPer1M": 0.3, "outputUsdPer1M": 0.9, "cacheReadUsdPer1M": 0.03 }, + { + "modelKey": "openrouter:mistralai/devstral-2512", + "inputUsdPer1M": 0.4, + "outputUsdPer1M": 2, + "cacheReadUsdPer1M": 0.04 + }, { "modelKey": "openrouter:mistralai/ministral-14b-2512", "inputUsdPer1M": 0.2, @@ -43061,11 +43979,6 @@ "outputUsdPer1M": 0.1, "cacheReadUsdPer1M": 0.01 }, - { - "modelKey": "openrouter:mistralai/ministral-8b", - "inputUsdPer1M": 0.11, - "outputUsdPer1M": 0.11 - }, { "modelKey": "openrouter:mistralai/ministral-8b-2512", "inputUsdPer1M": 0.15, @@ -43136,8 +44049,8 @@ }, { "modelKey": "openrouter:mistralai/mistral-small-3.2-24b-instruct", - "inputUsdPer1M": 0.09375, - "outputUsdPer1M": 0.25 + "inputUsdPer1M": 0.075, + "outputUsdPer1M": 0.2 }, { "modelKey": "openrouter:mistralai/mixtral-8x22b-instruct", @@ -43181,9 +44094,9 @@ }, { "modelKey": "openrouter:moonshotai/kimi-k2.7-code", - "inputUsdPer1M": 0.67, + "inputUsdPer1M": 0.66, "outputUsdPer1M": 3.4, - "cacheReadUsdPer1M": 0.17 + "cacheReadUsdPer1M": 0.18 }, { "modelKey": "openrouter:moonshotai/kimi-k3", @@ -43237,12 +44150,7 @@ "modelKey": "openrouter:nvidia/nemotron-3-nano-30b-a3b", "inputUsdPer1M": 0.05, "outputUsdPer1M": 0.2, - "cacheReadUsdPer1M": 0.03 - }, - { - "modelKey": "openrouter:nvidia/nemotron-3-nano-30b-a3b:free", - "inputUsdPer1M": 0, - "outputUsdPer1M": 0 + "cacheReadUsdPer1M": 0.025 }, { "modelKey": "openrouter:nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free", @@ -43261,9 +44169,9 @@ }, { "modelKey": "openrouter:nvidia/nemotron-3-ultra-550b-a55b", - "inputUsdPer1M": 0.6, - "outputUsdPer1M": 3.6, - "cacheReadUsdPer1M": 0.2 + "inputUsdPer1M": 0.5, + "outputUsdPer1M": 2.2, + "cacheReadUsdPer1M": 0.1 }, { "modelKey": "openrouter:nvidia/nemotron-3-ultra-550b-a55b:free", @@ -43286,16 +44194,6 @@ "inputUsdPer1M": 0, "outputUsdPer1M": 0 }, - { - "modelKey": "openrouter:nvidia/nemotron-nano-12b-v2-vl:free", - "inputUsdPer1M": 0, - "outputUsdPer1M": 0 - }, - { - "modelKey": "openrouter:nvidia/nemotron-nano-9b-v2:free", - "inputUsdPer1M": 0, - "outputUsdPer1M": 0 - }, { "modelKey": "openrouter:openai/gpt-3.5-turbo", "inputUsdPer1M": 0.5, @@ -43508,9 +44406,8 @@ }, { "modelKey": "openrouter:openai/gpt-oss-120b", - "inputUsdPer1M": 0.03, - "outputUsdPer1M": 0.17, - "cacheReadUsdPer1M": 0.03 + "inputUsdPer1M": 0.037, + "outputUsdPer1M": 0.17 }, { "modelKey": "openrouter:openai/gpt-oss-20b", @@ -43518,11 +44415,6 @@ "outputUsdPer1M": 0.13, "cacheReadUsdPer1M": 0.03 }, - { - "modelKey": "openrouter:openai/gpt-oss-20b:free", - "inputUsdPer1M": 0, - "outputUsdPer1M": 0 - }, { "modelKey": "openrouter:openai/gpt-oss-safeguard-20b", "inputUsdPer1M": 0.075, @@ -43649,9 +44541,8 @@ }, { "modelKey": "openrouter:qwen/qwen2.5-vl-72b-instruct", - "inputUsdPer1M": 0.8, - "outputUsdPer1M": 1, - "cacheReadUsdPer1M": 0.4 + "inputUsdPer1M": 0.25, + "outputUsdPer1M": 0.75 }, { "modelKey": "openrouter:qwen/qwen3-14b", @@ -43665,8 +44556,9 @@ }, { "modelKey": "openrouter:qwen/qwen3-235b-a22b-2507", - "inputUsdPer1M": 0.09, - "outputUsdPer1M": 0.55 + "inputUsdPer1M": 0.0875, + "outputUsdPer1M": 0.35, + "cacheReadUsdPer1M": 0.0175 }, { "modelKey": "openrouter:qwen/qwen3-235b-a22b-thinking-2507", @@ -43675,8 +44567,8 @@ }, { "modelKey": "openrouter:qwen/qwen3-30b-a3b", - "inputUsdPer1M": 0.13, - "outputUsdPer1M": 0.52 + "inputUsdPer1M": 0.12, + "outputUsdPer1M": 0.5 }, { "modelKey": "openrouter:qwen/qwen3-30b-a3b-instruct-2507", @@ -43717,8 +44609,9 @@ }, { "modelKey": "openrouter:qwen/qwen3-next-80b-a3b-instruct", - "inputUsdPer1M": 0.09, - "outputUsdPer1M": 1.1 + "inputUsdPer1M": 0.1, + "outputUsdPer1M": 1.1, + "cacheReadUsdPer1M": 0.07 }, { "modelKey": "openrouter:qwen/qwen3-next-80b-a3b-thinking", @@ -43738,8 +44631,8 @@ }, { "modelKey": "openrouter:qwen/qwen3-vl-30b-a3b-instruct", - "inputUsdPer1M": 0.13, - "outputUsdPer1M": 0.52 + "inputUsdPer1M": 0.15, + "outputUsdPer1M": 0.6 }, { "modelKey": "openrouter:qwen/qwen3-vl-30b-a3b-thinking", @@ -43763,8 +44656,8 @@ }, { "modelKey": "openrouter:qwen/qwen3.5-122b-a10b", - "inputUsdPer1M": 0.26, - "outputUsdPer1M": 2.08 + "inputUsdPer1M": 0.29, + "outputUsdPer1M": 2.4 }, { "modelKey": "openrouter:qwen/qwen3.5-27b", @@ -43800,8 +44693,8 @@ }, { "modelKey": "openrouter:qwen/qwen3.6-35b-a3b", - "inputUsdPer1M": 0.14, - "outputUsdPer1M": 1, + "inputUsdPer1M": 0.1, + "outputUsdPer1M": 0.9, "cacheReadUsdPer1M": 0.05 }, { @@ -43819,9 +44712,17 @@ }, { "modelKey": "openrouter:qwen/qwen3.8-27b", - "inputUsdPer1M": 0.45, - "outputUsdPer1M": 3.2, - "cacheReadUsdPer1M": 0.05 + "inputUsdPer1M": 0.425, + "outputUsdPer1M": 2.55, + "cacheReadUsdPer1M": 0.085, + "cacheWriteUsdPer1M": 0.53125 + }, + { + "modelKey": "openrouter:qwen/qwen3.8-flash", + "inputUsdPer1M": 0.15, + "outputUsdPer1M": 0.47, + "cacheReadUsdPer1M": 0.016, + "cacheWriteUsdPer1M": 0.2 }, { "modelKey": "openrouter:qwen/qwen3.8-max", @@ -43871,11 +44772,6 @@ "inputUsdPer1M": 0.65, "outputUsdPer1M": 0.75 }, - { - "modelKey": "openrouter:stealth/ox-alpha", - "inputUsdPer1M": 0, - "outputUsdPer1M": 0 - }, { "modelKey": "openrouter:stepfun/step-3.5-flash", "inputUsdPer1M": 0.1, @@ -43902,11 +44798,16 @@ "inputUsdPer1M": 0.074, "outputUsdPer1M": 0.295 }, + { + "modelKey": "openrouter:tencent/hy-mt2-7b", + "inputUsdPer1M": 0.074, + "outputUsdPer1M": 0.295 + }, { "modelKey": "openrouter:tencent/hy3", - "inputUsdPer1M": 0.132, - "outputUsdPer1M": 0.528, - "cacheReadUsdPer1M": 0.033 + "inputUsdPer1M": 0.0825, + "outputUsdPer1M": 0.33, + "cacheReadUsdPer1M": 0.020625 }, { "modelKey": "openrouter:tencent/hy3-preview", @@ -43914,17 +44815,18 @@ "outputUsdPer1M": 0.6, "cacheReadUsdPer1M": 0.06 }, + { + "modelKey": "openrouter:tencent/hy4-preview", + "inputUsdPer1M": 0.834, + "outputUsdPer1M": 2.501, + "cacheReadUsdPer1M": 0.042 + }, { "modelKey": "openrouter:thedrummer/cydonia-24b-v4.1", "inputUsdPer1M": 0.3, "outputUsdPer1M": 0.5, "cacheReadUsdPer1M": 0.15 }, - { - "modelKey": "openrouter:thedrummer/rocinante-12b", - "inputUsdPer1M": 0.25, - "outputUsdPer1M": 0.5 - }, { "modelKey": "openrouter:thedrummer/skyfall-36b-v2", "inputUsdPer1M": 0.55, @@ -43938,9 +44840,9 @@ }, { "modelKey": "openrouter:thinkingmachines/inkling", - "inputUsdPer1M": 0.95, + "inputUsdPer1M": 1, "outputUsdPer1M": 4.05, - "cacheReadUsdPer1M": 0.16 + "cacheReadUsdPer1M": 0.17 }, { "modelKey": "openrouter:thinkingmachines/inkling-small", @@ -43948,6 +44850,16 @@ "outputUsdPer1M": 1.2, "cacheReadUsdPer1M": 0.1 }, + { + "modelKey": "openrouter:thinkingmachines/inkling-small:free", + "inputUsdPer1M": 0, + "outputUsdPer1M": 0 + }, + { + "modelKey": "openrouter:thinkingmachines/inkling:free", + "inputUsdPer1M": 0, + "outputUsdPer1M": 0 + }, { "modelKey": "openrouter:undi95/remm-slerp-l2-13b", "inputUsdPer1M": 0.45, @@ -44002,9 +44914,9 @@ }, { "modelKey": "openrouter:z-ai/glm-4.6", - "inputUsdPer1M": 0.5, - "outputUsdPer1M": 2, - "cacheReadUsdPer1M": 0.1 + "inputUsdPer1M": 0.43, + "outputUsdPer1M": 1.75, + "cacheReadUsdPer1M": 0.08 }, { "modelKey": "openrouter:z-ai/glm-4.6v", @@ -44044,9 +44956,9 @@ }, { "modelKey": "openrouter:z-ai/glm-5.2", - "inputUsdPer1M": 0.966, - "outputUsdPer1M": 3.036, - "cacheReadUsdPer1M": 0.1932 + "inputUsdPer1M": 1.19, + "outputUsdPer1M": 3.74, + "cacheReadUsdPer1M": 0.221 }, { "modelKey": "openrouter:z-ai/glm-5.2:free", @@ -44059,6 +44971,12 @@ "outputUsdPer1M": 4.4, "cacheReadUsdPer1M": 0.26 }, + { + "modelKey": "openrouter:z-ai/glm-5.3-flash", + "inputUsdPer1M": 0.075, + "outputUsdPer1M": 0.25, + "cacheReadUsdPer1M": 0.015 + }, { "modelKey": "openrouter:z-ai/glm-5v-turbo", "inputUsdPer1M": 1.2, @@ -44578,6 +45496,18 @@ "outputUsdPer1M": 4.4, "cacheReadUsdPer1M": 0.26 }, + { + "modelKey": "togetherai:zai-org/GLM-5.3", + "inputUsdPer1M": 1.4, + "outputUsdPer1M": 4.4, + "cacheReadUsdPer1M": 0.26 + }, + { + "modelKey": "togetherai:zai-org/GLM-5.3-Flash", + "inputUsdPer1M": 0.15, + "outputUsdPer1M": 0.5, + "cacheReadUsdPer1M": 0.03 + }, { "modelKey": "tencent-tokenhub:hy3", "inputUsdPer1M": 0, @@ -44592,6 +45522,12 @@ "cacheReadUsdPer1M": 0, "cacheWriteUsdPer1M": 0 }, + { + "modelKey": "tencent-tokenhub:hy4-preview", + "inputUsdPer1M": 0.834, + "outputUsdPer1M": 2.501, + "cacheReadUsdPer1M": 0.042 + }, { "modelKey": "vercel:alibaba/qwen-3-14b", "inputUsdPer1M": 0.12, @@ -44740,13 +45676,27 @@ "modelKey": "vercel:alibaba/qwen3.8-2.4t-a95b", "inputUsdPer1M": 2, "outputUsdPer1M": 6, - "cacheReadUsdPer1M": 0.2 + "cacheReadUsdPer1M": 0.25 }, { "modelKey": "vercel:alibaba/qwen3.8-27b", - "inputUsdPer1M": 0.55, - "outputUsdPer1M": 3.3, - "cacheReadUsdPer1M": 0.11 + "inputUsdPer1M": 0.5, + "outputUsdPer1M": 3, + "cacheReadUsdPer1M": 0.1, + "cacheWriteUsdPer1M": 0.625 + }, + { + "modelKey": "vercel:alibaba/qwen3.8-flash", + "inputUsdPer1M": 0.16, + "outputUsdPer1M": 0.47, + "cacheReadUsdPer1M": 0.016, + "cacheWriteUsdPer1M": 0.2 + }, + { + "modelKey": "vercel:alibaba/qwen3.8-flash-next", + "inputUsdPer1M": 0.12, + "outputUsdPer1M": 0.4, + "cacheReadUsdPer1M": 0.01 }, { "modelKey": "vercel:alibaba/qwen3.8-max", @@ -44882,11 +45832,6 @@ "inputUsdPer1M": 0.25, "outputUsdPer1M": 0.8999999999999999 }, - { - "modelKey": "vercel:arcee-ai/trinity-mini", - "inputUsdPer1M": 0.045, - "outputUsdPer1M": 0.15 - }, { "modelKey": "vercel:bytedance/seed-1.6", "inputUsdPer1M": 0.25, @@ -44946,21 +45891,27 @@ }, { "modelKey": "vercel:deepseek/deepseek-v4-flash-0731", - "inputUsdPer1M": 0.13, - "outputUsdPer1M": 0.26, - "cacheReadUsdPer1M": 0.028 + "inputUsdPer1M": 0.076, + "outputUsdPer1M": 0.153, + "cacheReadUsdPer1M": 0.014 + }, + { + "modelKey": "vercel:deepseek/deepseek-v4-flash-vision-exp", + "inputUsdPer1M": 0.22, + "outputUsdPer1M": 0.66, + "cacheReadUsdPer1M": 0.007 }, { "modelKey": "vercel:deepseek/deepseek-v4-pro", - "inputUsdPer1M": 1.74, - "outputUsdPer1M": 3.48, - "cacheReadUsdPer1M": 0.14 + "inputUsdPer1M": 0.66, + "outputUsdPer1M": 1.98, + "cacheReadUsdPer1M": 0.022 }, { "modelKey": "vercel:deepseek/deepseek-v4-pro-0813", - "inputUsdPer1M": 1.32, - "outputUsdPer1M": 3.96, - "cacheReadUsdPer1M": 0.132 + "inputUsdPer1M": 0.66, + "outputUsdPer1M": 1.98, + "cacheReadUsdPer1M": 0.066 }, { "modelKey": "vercel:google/gemini-2.5-flash", @@ -45034,6 +45985,11 @@ "outputUsdPer1M": 2.5, "cacheReadUsdPer1M": 0.03 }, + { + "modelKey": "vercel:google/gemini-3.5-transcribe", + "inputUsdPer1M": 2, + "outputUsdPer1M": 12 + }, { "modelKey": "vercel:google/gemini-3.6-flash", "inputUsdPer1M": 0.75, @@ -45079,6 +46035,16 @@ "outputUsdPer1M": 0.18, "cacheReadUsdPer1M": 0.012 }, + { + "modelKey": "vercel:inclusionai/ling-3.0-flash-fin", + "inputUsdPer1M": 0, + "outputUsdPer1M": 0 + }, + { + "modelKey": "vercel:inclusionai/ling-3.0-flash-fin-free", + "inputUsdPer1M": 0, + "outputUsdPer1M": 0 + }, { "modelKey": "vercel:interfaze/interfaze-beta", "inputUsdPer1M": 1.5, @@ -45199,6 +46165,11 @@ "cacheReadUsdPer1M": 0.06, "cacheWriteUsdPer1M": 0.375 }, + { + "modelKey": "vercel:minimax/minimax-m2.7-free", + "inputUsdPer1M": 0, + "outputUsdPer1M": 0 + }, { "modelKey": "vercel:minimax/minimax-m2.7-highspeed", "inputUsdPer1M": 0.6, @@ -45212,6 +46183,12 @@ "outputUsdPer1M": 1.2, "cacheReadUsdPer1M": 0.06 }, + { + "modelKey": "vercel:minimax/minimax-m3-free", + "inputUsdPer1M": 0, + "outputUsdPer1M": 0, + "cacheReadUsdPer1M": 0 + }, { "modelKey": "vercel:mistral/codestral", "inputUsdPer1M": 0.3, @@ -45227,16 +46204,6 @@ "inputUsdPer1M": 0.1, "outputUsdPer1M": 0.3 }, - { - "modelKey": "vercel:mistral/magistral-medium", - "inputUsdPer1M": 2, - "outputUsdPer1M": 5 - }, - { - "modelKey": "vercel:mistral/magistral-small", - "inputUsdPer1M": 0.5, - "outputUsdPer1M": 1.5 - }, { "modelKey": "vercel:mistral/ministral-14b", "inputUsdPer1M": 0.2, @@ -45309,7 +46276,7 @@ "modelKey": "vercel:moonshotai/kimi-k2.7-code", "inputUsdPer1M": 0.95, "outputUsdPer1M": 4, - "cacheReadUsdPer1M": 0.19 + "cacheReadUsdPer1M": 0.16 }, { "modelKey": "vercel:moonshotai/kimi-k2.7-code-highspeed", @@ -45441,11 +46408,6 @@ "outputUsdPer1M": 1, "cacheReadUsdPer1M": 0.125 }, - { - "modelKey": "vercel:openai/gpt-4o-mini-search-preview", - "inputUsdPer1M": 0.15, - "outputUsdPer1M": 0.6 - }, { "modelKey": "vercel:openai/gpt-4o-mini-transcribe", "inputUsdPer1M": 1.25, @@ -45630,17 +46592,17 @@ }, { "modelKey": "vercel:openai/gpt-5.6-sol", - "inputUsdPer1M": 2.5, - "outputUsdPer1M": 15, - "cacheReadUsdPer1M": 0.25, - "cacheWriteUsdPer1M": 3.125 + "inputUsdPer1M": 2, + "outputUsdPer1M": 10, + "cacheReadUsdPer1M": 0.2, + "cacheWriteUsdPer1M": 2.5 }, { "modelKey": "vercel:openai/gpt-5.6-sol-fast", - "inputUsdPer1M": 5, - "outputUsdPer1M": 30, - "cacheReadUsdPer1M": 0.5, - "cacheWriteUsdPer1M": 3.125 + "inputUsdPer1M": 4, + "outputUsdPer1M": 20, + "cacheReadUsdPer1M": 0.4, + "cacheWriteUsdPer1M": 2.5 }, { "modelKey": "vercel:openai/gpt-5.6-terra", @@ -45690,11 +46652,15 @@ "inputUsdPer1M": 0.05, "outputUsdPer1M": 0.2 }, + { + "modelKey": "vercel:openai/gpt-oss-safeguard-120b", + "inputUsdPer1M": 0.15, + "outputUsdPer1M": 0.6 + }, { "modelKey": "vercel:openai/gpt-oss-safeguard-20b", - "inputUsdPer1M": 0.075, - "outputUsdPer1M": 0.3, - "cacheReadUsdPer1M": 0.037 + "inputUsdPer1M": 0.07, + "outputUsdPer1M": 0.2 }, { "modelKey": "vercel:openai/gpt-realtime-1.5", @@ -45732,12 +46698,6 @@ "outputUsdPer1M": 8, "cacheReadUsdPer1M": 0.5 }, - { - "modelKey": "vercel:openai/o3-deep-research", - "inputUsdPer1M": 10, - "outputUsdPer1M": 40, - "cacheReadUsdPer1M": 2.5 - }, { "modelKey": "vercel:openai/o3-fast", "inputUsdPer1M": 3.5, @@ -45891,9 +46851,15 @@ }, { "modelKey": "vercel:tencent/hy3", - "inputUsdPer1M": 0.132, - "outputUsdPer1M": 0.528, - "cacheReadUsdPer1M": 0.033 + "inputUsdPer1M": 0.14, + "outputUsdPer1M": 0.58, + "cacheReadUsdPer1M": 0.035 + }, + { + "modelKey": "vercel:tencent/hy4-preview", + "inputUsdPer1M": 0.834, + "outputUsdPer1M": 2.501, + "cacheReadUsdPer1M": 0.042 }, { "modelKey": "vercel:thinkingmachines/inkling", @@ -45993,7 +46959,13 @@ "modelKey": "vercel:zai/glm-5.3", "inputUsdPer1M": 1.4, "outputUsdPer1M": 4.4, - "cacheReadUsdPer1M": 0.26 + "cacheReadUsdPer1M": 0.14 + }, + { + "modelKey": "vercel:zai/glm-5.3-flash", + "inputUsdPer1M": 0.15, + "outputUsdPer1M": 0.5, + "cacheReadUsdPer1M": 0.03 }, { "modelKey": "vercel:zai/glm-5v-turbo", @@ -46124,6 +47096,20 @@ "cacheReadUsdPer1M": 0.26, "cacheWriteUsdPer1M": 0 }, + { + "modelKey": "zai:glm-5.3", + "inputUsdPer1M": 1.4, + "outputUsdPer1M": 4.4, + "cacheReadUsdPer1M": 0.26, + "cacheWriteUsdPer1M": 0 + }, + { + "modelKey": "zai:glm-5.3-flash", + "inputUsdPer1M": 0.075, + "outputUsdPer1M": 0.25, + "cacheReadUsdPer1M": 0.015, + "cacheWriteUsdPer1M": 0 + }, { "modelKey": "zai:glm-5v-turbo", "inputUsdPer1M": 1.2, @@ -47249,6 +48235,9 @@ "grok-4.5": { "npm": "@ai-sdk/openai" }, + "grok-4.6": { + "npm": "@ai-sdk/openai" + }, "minimax-m2.5": { "npm": "@ai-sdk/anthropic" }, @@ -47260,6 +48249,9 @@ }, "muse-spark-1.2-contributor": { "npm": "@ai-sdk/openai" + }, + "qwen3.8-flash": { + "npm": "@ai-sdk/anthropic" } }, "openrouter": {}, diff --git a/scripts/sync-model-metadata.mjs b/scripts/sync-model-metadata.mjs index 2869c04416..d7074f0fa1 100644 --- a/scripts/sync-model-metadata.mjs +++ b/scripts/sync-model-metadata.mjs @@ -25,6 +25,11 @@ import { dirname } from 'node:path'; import { pathToFileURL } from 'node:url'; const SOURCE_URL = 'https://models.dev/api.json'; +// Kept in sync with ModelInfo['modalities'] in packages/core/src/llm-connections.ts. +// A value outside these sets (e.g. upstream's newly added 'video') is dropped rather +// than rejected — see the filtering in toMetadata(). +const KNOWN_INPUT_MODALITIES = new Set(['text', 'image', 'audio', 'pdf']); +const KNOWN_OUTPUT_MODALITIES = new Set(['text', 'image', 'audio']); const DEFAULT_SNAPSHOT = 'scripts/model-metadata/models-dev-api.snapshot.json'; const DEFAULT_OUTPUT = 'packages/core/src/model-metadata.generated.ts'; const DEFAULT_PRICING_OUTPUT = 'packages/runtime/src/telemetry/model-pricing.generated.ts'; @@ -539,15 +544,23 @@ export function toMetadata(providerId, modelId, provider, model) { ) { throw new Error(`models.dev model ${providerId}/${modelId} has an unsupported shape`); } - if ( - model.modalities?.input.some( - (value) => value !== 'text' && value !== 'image' && value !== 'audio' && value !== 'pdf', - ) || - model.modalities?.output.some( - (value) => value !== 'text' && value !== 'image' && value !== 'audio', - ) - ) { - throw new Error(`models.dev model ${providerId}/${modelId} has unsupported modalities`); + // Filter rather than reject a modality value the wire format does not carry yet + // (e.g. upstream adding 'video'): the model itself is real and otherwise valid, + // so dropping the whole model would misreport it as removed from the catalog. + const knownInputModalities = model.modalities?.input.filter((value) => + KNOWN_INPUT_MODALITIES.has(value), + ); + const knownOutputModalities = model.modalities?.output.filter((value) => + KNOWN_OUTPUT_MODALITIES.has(value), + ); + const unknownModalities = [ + ...(model.modalities?.input.filter((value) => !KNOWN_INPUT_MODALITIES.has(value)) ?? []), + ...(model.modalities?.output.filter((value) => !KNOWN_OUTPUT_MODALITIES.has(value)) ?? []), + ]; + if (unknownModalities.length > 0) { + console.warn( + `sync-model-metadata: ${providerId}/${modelId} dropped unsupported modalit${unknownModalities.length === 1 ? 'y' : 'ies'} ${unknownModalities.map((value) => JSON.stringify(value)).join(', ')}`, + ); } if ( (model.description !== undefined && typeof model.description !== 'string') || @@ -609,8 +622,8 @@ export function toMetadata(providerId, modelId, provider, model) { ...(model.modalities ? { modalities: { - input: model.modalities.input, - output: model.modalities.output, + input: knownInputModalities, + output: knownOutputModalities, }, } : {}), diff --git a/scripts/sync-model-metadata.test.mjs b/scripts/sync-model-metadata.test.mjs index 021b2aaf85..3eb245924e 100644 --- a/scripts/sync-model-metadata.test.mjs +++ b/scripts/sync-model-metadata.test.mjs @@ -273,7 +273,7 @@ test('refresh rejects an empty required provider before replacing outputs', asyn } }); -test('refresh rejects unknown model modalities instead of dropping them', async () => { +test('refresh drops an unknown model modality instead of rejecting the whole model', async () => { const root = await mkdtemp(join(tmpdir(), 'maka-model-snapshot-modalities-')); try { const input = join(root, 'api.json'); @@ -283,20 +283,23 @@ test('refresh rejects unknown model modalities instead of dropping them', async catalog.anthropic.models.model.modalities = { input: ['text', 'video'], output: ['text'] }; await writeFile(input, JSON.stringify(catalog)); - await assert.rejects( - main([ - 'node', - 'sync-model-metadata.mjs', - '--refresh', - '--refresh-input', - input, - '--snapshot', - snapshot, - '--output', - metadata, - ]), - /unsupported modalities/, - ); + await main([ + 'node', + 'sync-model-metadata.mjs', + '--refresh', + '--refresh-input', + input, + '--snapshot', + snapshot, + '--output', + metadata, + ]); + + const written = JSON.parse(await readFile(snapshot, 'utf8')); + assert.deepEqual(written.projection.metadata.anthropic.model.modalities, { + input: ['text'], + output: ['text'], + }); } finally { await rm(root, { recursive: true, force: true }); }