You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maka.apache.org by as...@apache.org on 2026/09/01 14:19:30 UTC
(maka) branch ci/4398-model-metadata-drift-check updated (03f299337d -> b9e9bbb7ee)
This is an automated email from the ASF dual-hosted git repository.
Astro-Han pushed a change to branch ci/4398-model-metadata-drift-check
in repository https://gitbox.apache.org/repos/asf/maka.git
omit 03f299337d fix(ci): let the scheduled refresh reach the pull request it exists to open
omit aa30358fb3 refactor(scripts): let one projector answer what a refresh changed
omit 104d2e5ad8 refactor(core): give the model modality set one owner
omit 1a106c7bfa chore(model-metadata): refresh the models.dev snapshot
omit 5de8a4c049 ci: refresh the model metadata snapshot weekly into a review pull request
omit a6f87e454a feat(scripts): cap what --accept-upstream-removals may acknowledge
omit 85862e47a1 feat(scripts): report models.dev snapshot drift against upstream
omit 9c47be6d27 refactor(core): drop the unread ModelMetadata.docsUrl
omit 178aef478b feat(core): represent video and pdf model modalities
add a5ede6b357 refactor(desktop): move Goal controller ownership below AppShell (#4316)
add 0d3265eaf4 fix(runtime-host): separate the persisted grant record from the authority it derives (#4427)
add 5c1bbe3445 refactor(runtime-host): derive dispatcher operation groups from spec objects (#4402)
add dfe457eac9 refactor(desktop): retire dead Task Ledger CSS and align it with SessionTodoPanel (#4396)
add 6668af3f55 ci: allocate a runner only when its inputs changed (#4461)
new 5d9f01c66b feat(core): represent video and pdf model modalities
new 5488f7c409 refactor(core): drop the unread ModelMetadata.docsUrl
new 6ce0f8acca feat(scripts): report models.dev snapshot drift against upstream
new e2b5fcd823 feat(scripts): cap what --accept-upstream-removals may acknowledge
new 14a6a16d63 ci: refresh the model metadata snapshot weekly into a review pull request
new 28b9414758 chore(model-metadata): refresh the models.dev snapshot
new e8a95e104b refactor(core): give the model modality set one owner
new 3b9a256231 refactor(scripts): let one projector answer what a refresh changed
new b9e9bbb7ee fix(ci): let the scheduled refresh reach the pull request it exists to open
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (03f299337d)
\
N -- N -- N refs/heads/ci/4398-model-metadata-drift-check (b9e9bbb7ee)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 9 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.asf.yaml | 14 +-
.github/workflows/ci.yml | 219 ++++---
.github/workflows/cli-package-validation.yml | 211 ++++---
.github/workflows/release-windows-check.yml | 38 +-
.github/workflows/windows-recovery.yml | 120 +++-
apps/desktop/e2e/goal-dialog-budget.spec.ts | 16 +
apps/desktop/renderer-architecture.json | 5 +-
.../scripts/check-renderer-architecture.test.mjs | 46 ++
.../src/main/__tests__/goal-provider-scope.test.ts | 216 +++++++
.../src/main/__tests__/goals-boundary.test.ts | 171 +++++-
apps/desktop/src/renderer/app-shell.tsx | 26 +-
apps/desktop/src/renderer/chat-composer-region.tsx | 56 +-
apps/desktop/src/renderer/chat-message-surface.tsx | 50 +-
apps/desktop/src/renderer/features/goals/README.md | 36 +-
apps/desktop/src/renderer/features/goals/index.ts | 8 +-
.../desktop/src/renderer/features/goals/testing.ts | 1 +
.../src/renderer/features/goals/ui/goal-host.tsx | 8 +-
.../renderer/features/goals/ui/goal-provider.tsx | 121 ++++
apps/desktop/src/renderer/maka-tokens.css | 5 +-
apps/desktop/src/renderer/styles.css | 2 +-
.../src/renderer/styles/session-todo-panel.css | 94 +++
apps/desktop/src/renderer/styles/task-ledger.css | 135 -----
docs/astryx-surface-file-inventory.md | 5 +-
docs/astryx-surface-file-inventory.paths | 3 +-
package.json | 2 +-
.../access-credential-grant-migration.test.ts | 186 ++++++
.../__tests__/access-credential-metadata.test.ts | 4 +-
.../runtime-host/src/server/access-authority.ts | 27 +-
.../src/server/access-credential-metadata.ts | 10 +-
.../src/server/access-credential-store.ts | 215 +++++--
.../src/server/execution-composition.ts | 11 +
.../src/server/operation-dispatcher.ts | 329 ++++------
packages/ui/src/chat-view.tsx | 23 +-
packages/ui/src/components.tsx | 12 +
packages/ui/src/composer.tsx | 29 +-
packages/ui/src/goal-projection-context.ts | 63 ++
packages/ui/src/session-todo-panel.tsx | 14 +-
packages/ui/src/styles.css | 2 +-
scripts/asf-source-workflow-policy.test.mjs | 2 +-
scripts/check-app-shell-hooks.mjs | 1 -
scripts/ci-test-plan.mjs | 56 +-
scripts/ci-test-plan.test.mjs | 643 ++------------------
...t-plan.test.mjs => ci-workflow-policy.test.mjs} | 664 ++++++++-------------
scripts/prepare-windows-upgrade-baseline.mjs | 23 +-
scripts/prepare-windows-upgrade-baseline.test.mjs | 136 +++++
scripts/qualify-released-cli-state-root.mjs | 147 ++++-
scripts/qualify-released-cli-state-root.test.mjs | 60 +-
scripts/release-cli-workflow-policy.test.mjs | 65 +-
scripts/released-cli-state-root-fixture.mjs | 74 +++
scripts/update-test-feed-wiring.test.mjs | 67 +++
scripts/windows-package-source-closure.mjs | 23 +-
scripts/windows-package-source-closure.test.mjs | 82 ++-
52 files changed, 2690 insertions(+), 1886 deletions(-)
create mode 100644 apps/desktop/src/main/__tests__/goal-provider-scope.test.ts
create mode 100644 apps/desktop/src/renderer/features/goals/ui/goal-provider.tsx
create mode 100644 apps/desktop/src/renderer/styles/session-todo-panel.css
delete mode 100644 apps/desktop/src/renderer/styles/task-ledger.css
create mode 100644 packages/runtime-host/src/__tests__/access-credential-grant-migration.test.ts
create mode 100644 packages/ui/src/goal-projection-context.ts
copy scripts/{ci-test-plan.test.mjs => ci-workflow-policy.test.mjs} (56%)
create mode 100644 scripts/prepare-windows-upgrade-baseline.test.mjs
create mode 100644 scripts/update-test-feed-wiring.test.mjs
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
(maka) 05/09: ci: refresh the model metadata snapshot weekly into a review pull request
Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
Astro-Han pushed a commit to branch ci/4398-model-metadata-drift-check
in repository https://gitbox.apache.org/repos/asf/maka.git
commit 14a6a16d63a9d4b1004581069ff5415b7b6a8a23
Author: AstroHan <le...@outlook.com>
AuthorDate: Tue Sep 1 18:22:23 2026 +0800
ci: refresh the model metadata snapshot weekly into a review pull request
Nothing ran refresh:model-metadata on a schedule, so the snapshot moved
only when someone happened to think of it. Weekly, not nightly: the
snapshot is a build input a person reviews, so a daily cadence stacks
five near-identical pull requests against one week of upstream movement,
on runners the whole foundation shares.
The job reports drift, refreshes, verifies the regenerated outputs, and
opens a draft pull request for review. It never merges its own work and
never passes --accept-upstream-removals: a model leaving upstream is a
decision for a person, so the job fails and says so.
No pull_request trigger. The drift check needs models.dev to be
reachable, which is not a precondition for reviewing a change, and a new
workflow on every pull request costs a queue slot on shared runners. The
workflow and its policy test join the existing asf_source lane instead,
so ci.yml runs them through check:asf-source when either file moves.
Generated-by: Claude Code
---
.github/workflows/model-metadata-upkeep.yml | 135 +++++++++++++++++++++
package.json | 2 +-
scripts/ci-test-plan.mjs | 2 +
.../model-metadata-upkeep-workflow-policy.test.mjs | 102 ++++++++++++++++
4 files changed, 240 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/model-metadata-upkeep.yml b/.github/workflows/model-metadata-upkeep.yml
new file mode 100644
index 0000000000..9960f0f3fe
--- /dev/null
+++ b/.github/workflows/model-metadata-upkeep.yml
@@ -0,0 +1,135 @@
+# 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 upkeep
+
+on:
+ schedule:
+ # Weekly, offset from the hour to reduce peak-time scheduling delays. The
+ # snapshot is a build input a human reviews, so a nightly cadence would
+ # only stack five near-identical pull requests against one week of upstream
+ # movement, on runners the whole foundation shares.
+ - cron: '41 6 * * 1'
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+concurrency:
+ group: model-metadata-upkeep
+ cancel-in-progress: false
+
+jobs:
+ refresh:
+ # A fork inherits the schedule but owns neither the branch this pushes nor
+ # the pull request it opens.
+ if: github.repository == 'apache/maka'
+ runs-on: ubuntu-latest
+ timeout-minutes: 30
+ permissions:
+ contents: write
+ pull-requests: write
+ steps:
+ - name: Check out the repository
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+ with:
+ persist-credentials: false
+
+ - 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: Report snapshot drift against models.dev
+ # Drift exits non-zero by design. The report is what this step is for,
+ # and the refresh below is what decides whether the run fails.
+ continue-on-error: true
+ run: npm run --silent check:model-metadata-drift 2>&1 | tee "$RUNNER_TEMP/drift.txt"
+
+ - name: Publish the drift report
+ run: |
+ {
+ echo '### models.dev drift'
+ echo ''
+ echo '```text'
+ cat "$RUNNER_TEMP/drift.txt"
+ echo '```'
+ } >> "$GITHUB_STEP_SUMMARY"
+
+ # No --accept-upstream-removals. A model leaving upstream is a decision
+ # for a person, so the job fails and says so rather than committing the
+ # removal into a pull request nobody asked for.
+ - name: Refresh the snapshot from models.dev
+ run: npm run refresh:model-metadata
+
+ - name: Verify the regenerated outputs
+ run: npm run check:model-metadata
+
+ - name: Detect a snapshot change
+ id: change
+ run: |
+ if git diff --quiet -- scripts/model-metadata/models-dev-api.snapshot.json; then
+ echo 'changed=false' >> "$GITHUB_OUTPUT"
+ else
+ echo 'changed=true' >> "$GITHUB_OUTPUT"
+ fi
+
+ - name: Open the review pull request
+ if: steps.change.outputs.changed == 'true'
+ env:
+ BRANCH: automation/model-metadata-refresh
+ GH_TOKEN: ${{ github.token }}
+ TITLE: 'chore(model-metadata): refresh the models.dev snapshot'
+ run: |
+ {
+ echo '## Summary'
+ echo ''
+ echo 'Scheduled `refresh:model-metadata` run. The snapshot is the build'
+ echo 'input for the bundled model catalog; this only moves it to what'
+ echo 'models.dev serves today.'
+ echo ''
+ echo 'Refs #4398'
+ echo ''
+ echo '## Verification'
+ echo ''
+ echo 'The workflow ran `refresh:model-metadata` and `check:model-metadata`'
+ echo 'before opening this. Drift against upstream at refresh time:'
+ echo ''
+ echo '```text'
+ cat "$RUNNER_TEMP/drift.txt"
+ echo '```'
+ } > "$RUNNER_TEMP/pr-body.md"
+ git config user.name 'Apache Maka'
+ git config user.email 'commits@maka.apache.org'
+ git switch -c "$BRANCH"
+ git add scripts/model-metadata/models-dev-api.snapshot.json
+ git commit -m "$TITLE"
+ git push --force \
+ "https://x-access-token:${GH_TOKEN}@github.com/${GITHUB_REPOSITORY}" \
+ "HEAD:refs/heads/$BRANCH"
+ # A force push updates an open pull request in place, so only open one
+ # when none is waiting.
+ if gh pr view "$BRANCH" --json number >/dev/null 2>&1; then
+ echo "Updated the open pull request on $BRANCH."
+ else
+ gh pr create --draft --base main --head "$BRANCH" \
+ --title "$TITLE" --body-file "$RUNNER_TEMP/pr-body.md"
+ fi
diff --git a/package.json b/package.json
index ccbba4bcdb..0cd0891641 100644
--- a/package.json
+++ b/package.json
@@ -62,7 +62,7 @@
"release:asf:source": "node scripts/asf-source-release.mjs create",
"release:asf:verify": "node scripts/asf-source-release.mjs verify",
"release:asf:sign": "node scripts/asf-source-release.mjs sign",
- "check:asf-source": "npm run check:model-metadata && node --test scripts/asf-source-release.test.mjs scripts/asf-source-workflow-policy.test.mjs scripts/asf-license-headers.test.mjs scripts/source-legal-inventory.test.mjs scripts/sync-model-metadata.test.mjs",
+ "check:asf-source": "npm run check:model-metadata && node --test scripts/asf-source-release.test.mjs scripts/asf-source-workflow-policy.test.mjs scripts/asf-license-headers.test.mjs scripts/model-metadata-upkeep-workflow-policy.test.mjs scripts/source-legal-inventory.test.mjs scripts/sync-model-metadata.test.mjs",
"check:asf-npm": "node --test scripts/asf-npm-workflow-policy.test.mjs",
"check:product-release-identity": "node scripts/product-release-identity.mjs",
"package:cli:macos-arm64": "node scripts/package-macos-arm64-cli.mjs",
diff --git a/scripts/ci-test-plan.mjs b/scripts/ci-test-plan.mjs
index 149dd30152..b66320136c 100644
--- a/scripts/ci-test-plan.mjs
+++ b/scripts/ci-test-plan.mjs
@@ -118,6 +118,7 @@ const CLI_PACKAGE_FILES = new Set([
const ASF_SOURCE_FILES = new Set([
'.github/workflows/asf-source-candidate.yml',
+ '.github/workflows/model-metadata-upkeep.yml',
'DISCLAIMER-WIP',
'LICENSE',
'NOTICE',
@@ -131,6 +132,7 @@ const ASF_SOURCE_FILES = new Set([
'scripts/asf-source-release.mjs',
'scripts/asf-source-release.test.mjs',
'scripts/asf-source-workflow-policy.test.mjs',
+ 'scripts/model-metadata-upkeep-workflow-policy.test.mjs',
'scripts/model-metadata/models-dev-api.snapshot.json',
'scripts/source-legal-inventory.test.mjs',
'scripts/sync-model-metadata.mjs',
diff --git a/scripts/model-metadata-upkeep-workflow-policy.test.mjs b/scripts/model-metadata-upkeep-workflow-policy.test.mjs
new file mode 100644
index 0000000000..2c3884c76c
--- /dev/null
+++ b/scripts/model-metadata-upkeep-workflow-policy.test.mjs
@@ -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.
+ */
+
+import assert from 'node:assert/strict';
+import { readFile } from 'node:fs/promises';
+import { test } from 'node:test';
+import { parse } from 'yaml';
+
+async function readUpkeepWorkflow() {
+ return parse(
+ await readFile(
+ new URL('../.github/workflows/model-metadata-upkeep.yml', import.meta.url),
+ 'utf8',
+ ),
+ );
+}
+
+async function readRootScripts() {
+ return JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf8')).scripts;
+}
+
+function stepNamed(workflow, name) {
+ const step = workflow.jobs.refresh.steps.find((candidate) => candidate.name === name);
+ assert.ok(step, `missing step: ${name}`);
+ return step;
+}
+
+test('upkeep runs on a weekly schedule and never against a pull request', async () => {
+ const workflow = await readUpkeepWorkflow();
+ assert.deepEqual(Object.keys(workflow.on).toSorted(), ['schedule', 'workflow_dispatch']);
+ assert.equal(workflow.on.schedule.length, 1);
+ const [minute, hour, dayOfMonth, month, dayOfWeek] = workflow.on.schedule[0].cron.split(' ');
+ // A single weekday with a fixed hour is the weekly cadence. Runners are a
+ // shared foundation resource and every daily run costs a queue slot.
+ assert.match(dayOfWeek, /^[0-6]$/u);
+ assert.deepEqual([dayOfMonth, month], ['*', '*']);
+ assert.doesNotMatch(minute, /^[*0]$/u);
+ assert.match(hour, /^\d+$/u);
+});
+
+test('only the scheduled job writes, and only on the canonical repository', async () => {
+ const workflow = await readUpkeepWorkflow();
+ assert.deepEqual(workflow.permissions, { contents: 'read' });
+ assert.deepEqual(workflow.jobs.refresh.permissions, {
+ contents: 'write',
+ 'pull-requests': 'write',
+ });
+ assert.match(workflow.jobs.refresh.if, /github\.repository == 'apache\/maka'/u);
+ assert.equal(Object.keys(workflow.jobs).length, 1);
+ assert.equal(stepNamed(workflow, 'Check out the repository').with['persist-credentials'], false);
+});
+
+test('the refresh reports drift first and refuses to waive upstream removals', async () => {
+ const workflow = await readUpkeepWorkflow();
+ const order = [
+ 'Report snapshot drift against models.dev',
+ 'Refresh the snapshot from models.dev',
+ ].map((name) => workflow.jobs.refresh.steps.findIndex((step) => step.name === name));
+ assert.ok(order.every((position) => position >= 0));
+ assert.ok(order[0] < order[1]);
+ assert.equal(
+ stepNamed(workflow, 'Report snapshot drift against models.dev')['continue-on-error'],
+ true,
+ );
+ assert.doesNotMatch(JSON.stringify(workflow), /--accept-upstream-removals/u);
+});
+
+test('the pull request is opened for review and never merged by the job', async () => {
+ const workflow = await readUpkeepWorkflow();
+ const open = stepNamed(workflow, 'Open the review pull request');
+ assert.match(open.run, /gh pr create --draft/u);
+ assert.doesNotMatch(JSON.stringify(workflow), /gh pr merge|--auto\b|--admin\b/u);
+});
+
+test('the drift check stays out of the checks that run on every pull request', async () => {
+ const scripts = await readRootScripts();
+ assert.equal(
+ scripts['check:model-metadata-drift'],
+ 'node scripts/sync-model-metadata.mjs --drift',
+ );
+ // Reaching models.dev is not a precondition for reviewing a pull request.
+ for (const gate of ['check:asf-source', 'check:release']) {
+ assert.doesNotMatch(scripts[gate], /check:model-metadata-drift|--drift/u);
+ }
+ assert.match(scripts['check:asf-source'], /model-metadata-upkeep-workflow-policy\.test\.mjs/u);
+});
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
(maka) 03/09: feat(scripts): report models.dev snapshot drift against upstream
Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
Astro-Han pushed a commit to branch ci/4398-model-metadata-drift-check
in repository https://gitbox.apache.org/repos/asf/maka.git
commit 6ce0f8accadc6a45c69b67295f3f9c33b69c99fe
Author: AstroHan <le...@outlook.com>
AuthorDate: Tue Sep 1 18:19:06 2026 +0800
feat(scripts): report models.dev snapshot drift against upstream
`check:model-metadata` proves the generated modules match the committed
snapshot. Nothing proved the snapshot still matches models.dev, so the
snapshot could sit weeks behind upstream with every check green — which
is exactly what happened: models.dev listed glm-5.3 from 2026-08-14 and
the snapshot regenerated on 2026-08-29 without it.
`--drift` fetches upstream and compares model by model, printing what
differs and exiting non-zero. Per model rather than per projection on
purpose: a refresh aborts on the first shape it cannot project, so one
surprising model would otherwise hide every other difference. A rejected
shape becomes its own bucket instead.
The mode never writes, so it is safe to run against a checkout that must
stay clean. It stays out of check:asf-source and check:release: both run
on every affected pull request, and neither should need models.dev to be
reachable.
Generated-by: Claude Code
---
package.json | 1 +
scripts/sync-model-metadata.mjs | 130 +++++++++++++++++++++++++++++++----
scripts/sync-model-metadata.test.mjs | 98 ++++++++++++++++++++++++++
3 files changed, 216 insertions(+), 13 deletions(-)
diff --git a/package.json b/package.json
index 08a3131b68..ccbba4bcdb 100644
--- a/package.json
+++ b/package.json
@@ -92,6 +92,7 @@
"sync:model-metadata": "node scripts/sync-model-metadata.mjs",
"refresh:model-metadata": "node scripts/sync-model-metadata.mjs --refresh",
"check:model-metadata": "node scripts/sync-model-metadata.mjs --check",
+ "check:model-metadata-drift": "node scripts/sync-model-metadata.mjs --drift",
"generate:bundled-skills": "node scripts/gen-bundled-skill-catalog.mjs",
"computer-use": "node scripts/computer-use.mjs",
"windows:inventory": "node --test scripts/windows-test-inventory.test.mjs && node scripts/windows-test-inventory.mjs --check",
diff --git a/scripts/sync-model-metadata.mjs b/scripts/sync-model-metadata.mjs
index 02782434d4..8f820cdf95 100644
--- a/scripts/sync-model-metadata.mjs
+++ b/scripts/sync-model-metadata.mjs
@@ -117,11 +117,22 @@ export async function main(argv = process.argv) {
(outputPath === DEFAULT_OUTPUT ? DEFAULT_PRICING_OUTPUT : undefined);
const refresh = argv.includes('--refresh');
const check = argv.includes('--check');
+ const drift = argv.includes('--drift');
const acceptUpstreamRemovals = argv.includes('--accept-upstream-removals');
- if (refreshInputPath && !refresh) throw new Error('--refresh-input requires --refresh');
+ if (drift && (refresh || check)) {
+ throw new Error('--drift reports without writing and cannot combine with --refresh or --check');
+ }
+ if (refreshInputPath && !refresh && !drift) {
+ throw new Error('--refresh-input requires --refresh or --drift');
+ }
if (acceptUpstreamRemovals && !refresh) {
throw new Error('--accept-upstream-removals requires --refresh');
}
+ if (drift) {
+ const report = await collectDrift(await loadSnapshot(snapshotPath), refreshInputPath);
+ process.stdout.write(`${formatDrift(report)}\n`);
+ return report;
+ }
const source = refresh
? await refreshSnapshot(snapshotPath, refreshInputPath, { acceptUpstreamRemovals })
@@ -235,19 +246,25 @@ function buildProjection(catalog) {
return { metadata, pricing, providerFacts, providerOverrides };
}
-async function refreshSnapshot(snapshotPath, refreshInputPath, options = {}) {
- let sourceText;
- let sourceEtag = null;
- let retrievedAt = new Date().toISOString();
+async function readUpstream(refreshInputPath) {
if (refreshInputPath) {
- sourceText = await readFile(refreshInputPath, 'utf8');
- } else {
- const response = await fetch(SOURCE_URL, { signal: AbortSignal.timeout(10_000) });
- if (!response.ok) throw new Error(`models.dev returned HTTP ${response.status}`);
- sourceText = await response.text();
- sourceEtag = response.headers.get('etag');
- retrievedAt = new Date(response.headers.get('date') ?? Date.now()).toISOString();
+ return {
+ text: await readFile(refreshInputPath, 'utf8'),
+ etag: null,
+ retrievedAt: new Date().toISOString(),
+ };
}
+ const response = await fetch(SOURCE_URL, { signal: AbortSignal.timeout(10_000) });
+ if (!response.ok) throw new Error(`models.dev returned HTTP ${response.status}`);
+ return {
+ text: await response.text(),
+ etag: response.headers.get('etag'),
+ retrievedAt: new Date(response.headers.get('date') ?? Date.now()).toISOString(),
+ };
+}
+
+async function refreshSnapshot(snapshotPath, refreshInputPath, options = {}) {
+ const { text: sourceText, etag: sourceEtag, retrievedAt } = await readUpstream(refreshInputPath);
const projection = buildProjection(selectCatalog(JSON.parse(sourceText)));
if (!options.acceptUpstreamRemovals) {
const previous = await loadSnapshotIfPresent(snapshotPath);
@@ -339,6 +356,91 @@ function projectionPath(path) {
return `/${path.map((segment) => String(segment).replaceAll('~', '~0').replaceAll('/', '~1')).join('/')}`;
}
+// `--check` only proves the generated modules match the committed snapshot.
+// Nothing compared that snapshot against models.dev, which is how it stayed
+// weeks behind upstream without anything reporting it. This walks the two one
+// model at a time, so a shape the projector rejects becomes its own finding
+// instead of aborting the whole comparison the way a refresh does.
+const DRIFT_LIST_LIMIT = 20;
+
+async function collectDrift(snapshot, refreshInputPath) {
+ const catalog = JSON.parse((await readUpstream(refreshInputPath)).text);
+ const previousMetadata = snapshot.projection.metadata;
+ const previousPricing = new Map(
+ snapshot.projection.pricing.map((entry) => [entry.modelKey, entry]),
+ );
+ const report = { missingProviders: [], unprojectable: [], added: [], removed: [], changed: [] };
+ for (const [providerType, sourceId] of Object.entries(PROVIDERS)) {
+ const provider = catalog[sourceId];
+ const previousModels = previousMetadata[providerType] ?? {};
+ const models = provider?.models;
+ if (!models || typeof models !== 'object' || Array.isArray(models)) {
+ report.missingProviders.push(`${providerType} (models.dev ${sourceId})`);
+ continue;
+ }
+ const priced = !PRICING_EXCLUDED_PROVIDER_TYPES.has(providerType);
+ const ids = [...new Set([...Object.keys(previousModels), ...Object.keys(models)])].sort();
+ for (const id of ids) {
+ const model = models[id];
+ const previous = previousModels[id];
+ if (model === undefined) {
+ report.removed.push(`${providerType}/${id}`);
+ continue;
+ }
+ let metadata;
+ let pricing;
+ try {
+ metadata = toMetadata(sourceId, id, provider, model);
+ pricing = priced ? toPricing(providerType, id, model) : undefined;
+ } catch (error) {
+ report.unprojectable.push(`${providerType}/${id}: ${error.message}`);
+ continue;
+ }
+ if (previous === undefined) {
+ report.added.push(`${providerType}/${id}`);
+ continue;
+ }
+ const fields = driftedFields(previous, metadata);
+ if (priced && !sameValue(previousPricing.get(`${providerType}:${id}`), pricing)) {
+ fields.push('pricing');
+ }
+ if (fields.length > 0) report.changed.push(`${providerType}/${id}: ${fields.join(', ')}`);
+ }
+ }
+ const drifted = Object.values(report).some((entries) => entries.length > 0);
+ return { ...report, drifted };
+}
+
+function driftedFields(previous, next) {
+ const keys = [...new Set([...Object.keys(previous), ...Object.keys(next)])].sort();
+ return keys.filter((key) => !sameValue(previous[key], next[key]));
+}
+
+// Both sides are projector output, so their keys are already in one order.
+function sameValue(left, right) {
+ return JSON.stringify(left) === JSON.stringify(right);
+}
+
+function formatDrift(report) {
+ const lines = [];
+ for (const [label, entries] of [
+ ['providers missing upstream', report.missingProviders],
+ ['models the projector rejects', report.unprojectable],
+ ['models upstream has and the snapshot does not', report.added],
+ ['models the snapshot has and upstream does not', report.removed],
+ ['models whose projection changed', report.changed],
+ ]) {
+ if (entries.length === 0) continue;
+ lines.push(`${label}: ${entries.length}`);
+ for (const entry of entries.slice(0, DRIFT_LIST_LIMIT)) lines.push(` ${entry}`);
+ if (entries.length > DRIFT_LIST_LIMIT) {
+ lines.push(` ... and ${entries.length - DRIFT_LIST_LIMIT} more`);
+ }
+ }
+ if (!report.drifted) return `${SOURCE_URL} matches the committed snapshot.`;
+ return [`${SOURCE_URL} has drifted from the committed snapshot.`, ...lines].join('\n');
+}
+
async function replaceFilesTransactionally(writes) {
if (new Set(writes.map((write) => write.path)).size !== writes.length) {
throw new Error('model metadata outputs must use distinct paths');
@@ -705,7 +807,9 @@ function buildPricingModule(pricing, source) {
}
if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
- await main();
+ // Drift is a finding, not a crash: the report has already been printed, and
+ // the exit code is what a scheduled job branches on.
+ if ((await main())?.drifted) process.exitCode = 1;
}
function option(name, argv) {
diff --git a/scripts/sync-model-metadata.test.mjs b/scripts/sync-model-metadata.test.mjs
index b0c9f0eef3..cf63c04183 100644
--- a/scripts/sync-model-metadata.test.mjs
+++ b/scripts/sync-model-metadata.test.mjs
@@ -302,6 +302,104 @@ test('refresh rejects unknown model modalities instead of dropping them', async
}
});
+// The drift report goes to stdout for the scheduled job's summary; tests read
+// the returned buckets instead of the printed text.
+async function drift(argv) {
+ const written = [];
+ const original = process.stdout.write;
+ process.stdout.write = (chunk) => {
+ written.push(String(chunk));
+ return true;
+ };
+ try {
+ return { report: await main(['node', 'sync-model-metadata.mjs', '--drift', ...argv]) };
+ } finally {
+ process.stdout.write = original;
+ assert.ok(written.join('').length > 0, 'drift must print a report');
+ }
+}
+
+test('drift finds nothing when the snapshot still matches upstream', async () => {
+ const root = await mkdtemp(join(tmpdir(), 'maka-model-drift-clean-'));
+ try {
+ const input = join(root, 'api.json');
+ const snapshot = join(root, 'snapshot.json');
+ await writeFile(input, JSON.stringify(fixtureCatalog()));
+ await main([
+ 'node',
+ 'sync-model-metadata.mjs',
+ '--refresh',
+ '--refresh-input',
+ input,
+ '--snapshot',
+ snapshot,
+ '--output',
+ join(root, 'metadata.ts'),
+ ]);
+
+ const { report } = await drift(['--snapshot', snapshot, '--refresh-input', input]);
+ assert.equal(report.drifted, false);
+ assert.deepEqual(
+ [report.added, report.removed, report.changed, report.unprojectable, report.missingProviders],
+ [[], [], [], [], []],
+ );
+ } finally {
+ await rm(root, { recursive: true, force: true });
+ }
+});
+
+test('drift separates a rejected shape from a real upstream difference', async () => {
+ const root = await mkdtemp(join(tmpdir(), 'maka-model-drift-'));
+ try {
+ const committed = join(root, 'api.json');
+ const upstream = join(root, 'upstream.json');
+ const snapshot = join(root, 'snapshot.json');
+ const before = fixtureCatalog();
+ before.anthropic.models.legacy = { ...before.anthropic.models.model, name: 'Legacy' };
+ await writeFile(committed, JSON.stringify(before));
+ await main([
+ 'node',
+ 'sync-model-metadata.mjs',
+ '--refresh',
+ '--refresh-input',
+ committed,
+ '--snapshot',
+ snapshot,
+ '--output',
+ join(root, 'metadata.ts'),
+ ]);
+
+ const after = JSON.parse(JSON.stringify(before));
+ delete after.anthropic.models.legacy;
+ after.anthropic.models.added = { ...after.anthropic.models.model, name: 'Added' };
+ after.anthropic.models.model.name = 'Renamed';
+ after.anthropic.models.model.cost = { input: 9, output: 9 };
+ after.groq.models.model.modalities = { input: ['text', 'hologram'], output: ['text'] };
+ delete after.openai;
+ await writeFile(upstream, JSON.stringify(after));
+
+ const { report } = await drift(['--snapshot', snapshot, '--refresh-input', upstream]);
+ assert.equal(report.drifted, true);
+ assert.deepEqual(report.added, ['anthropic/added']);
+ assert.deepEqual(report.removed, ['anthropic/legacy']);
+ assert.deepEqual(report.changed, ['anthropic/model: displayName, pricing']);
+ assert.deepEqual(report.missingProviders, ['openai (models.dev openai)']);
+ assert.equal(report.unprojectable.length, 1);
+ assert.match(report.unprojectable[0], /^groq\/model: .*unsupported modalities/u);
+ } finally {
+ await rm(root, { recursive: true, force: true });
+ }
+});
+
+test('drift refuses to combine with the modes that write', async () => {
+ for (const mode of ['--refresh', '--check']) {
+ await assert.rejects(
+ main(['node', 'sync-model-metadata.mjs', '--drift', mode]),
+ /--drift reports without writing/u,
+ );
+ }
+});
+
test('refresh carries the video and pdf modalities models.dev declares', async () => {
const root = await mkdtemp(join(tmpdir(), 'maka-model-snapshot-video-'));
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
(maka) 01/09: feat(core): represent video and pdf model modalities
Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
Astro-Han pushed a commit to branch ci/4398-model-metadata-drift-check
in repository https://gitbox.apache.org/repos/asf/maka.git
commit 5d9f01c66bc61a8ca73c817273d37bd5f6bb291f
Author: AstroHan <le...@outlook.com>
AuthorDate: Tue Sep 1 18:15:31 2026 +0800
feat(core): represent video and pdf model modalities
models.dev now declares video on either side of a model and pdf as an
output. The projector named four input and three output values and threw
on anything else, so 324 of the 1906 models in the selected providers
took the whole refresh down with them: `npm run refresh:model-metadata`
could not write a byte, and the snapshot could not be regenerated at all.
Admit both values across the three places that name them — the wire type,
the model-facts guard, and the catalog decoder — so a refresh reaches the
models that carry them. Both directions now accept the same set, so the
two decoders collapse into one that takes the direction; keeping two
copies only lets one drift behind the catalog it decodes.
The decoder rejects any value it does not name, so a newer Host
describing such a model fails an older client's catalog decode outright
rather than losing one field. That is a compatibility break, hence the
epoch bump: the handshake keeps the pairing from forming.
The snapshot itself is untouched here. Its content refresh belongs to the
scheduled job's own review pull request, not to this change.
Generated-by: Claude Code
---
.../src/__tests__/runtime-policy-codec.test.ts | 13 +++++++++
packages/core/src/llm-connections.ts | 4 +--
packages/core/src/model-catalog.ts | 7 ++---
packages/core/src/model-facts.ts | 15 ++++++----
.../src/runtime-policy/connection-catalog-codec.ts | 32 ++++++++++++----------
packages/runtime-host/src/protocol/index.ts | 8 +++++-
scripts/sync-model-metadata.mjs | 12 ++++----
scripts/sync-model-metadata.test.mjs | 32 +++++++++++++++++++++-
8 files changed, 89 insertions(+), 34 deletions(-)
diff --git a/packages/core/src/__tests__/runtime-policy-codec.test.ts b/packages/core/src/__tests__/runtime-policy-codec.test.ts
index 06bdd1328c..d6aba85a60 100644
--- a/packages/core/src/__tests__/runtime-policy-codec.test.ts
+++ b/packages/core/src/__tests__/runtime-policy-codec.test.ts
@@ -511,6 +511,19 @@ test('normalizes extended model facts used by the runtime host catalog', () => {
});
});
+test('carries the video and pdf modalities models.dev declares', () => {
+ const modalities = {
+ input: ['text', 'image', 'video'],
+ output: ['text', 'pdf', 'video'],
+ };
+ const result = normalizeConnectionModelDiscoveryResult({
+ models: [{ id: 'custom-model', modalities }],
+ source: 'fetched',
+ fetchedAt: 42,
+ });
+ assert.deepEqual(result.models[0], { id: 'custom-model', modalities });
+});
+
test('rejects sparse model modality arrays', () => {
assert.throws(
() =>
diff --git a/packages/core/src/llm-connections.ts b/packages/core/src/llm-connections.ts
index 5a4a839058..232a3a60e3 100644
--- a/packages/core/src/llm-connections.ts
+++ b/packages/core/src/llm-connections.ts
@@ -116,8 +116,8 @@ export interface ModelInfo {
};
/** Multimodal input/output support from provider catalog metadata. */
modalities?: {
- input: Array<'text' | 'image' | 'audio' | 'pdf'>;
- output: Array<'text' | 'image' | 'audio'>;
+ input: Array<'text' | 'image' | 'audio' | 'pdf' | 'video'>;
+ output: Array<'text' | 'image' | 'audio' | 'pdf' | 'video'>;
};
/**
* Read-time provenance for values overlaid from model-facts.json. This is
diff --git a/packages/core/src/model-catalog.ts b/packages/core/src/model-catalog.ts
index 12d2609ac4..45e5db3c0d 100644
--- a/packages/core/src/model-catalog.ts
+++ b/packages/core/src/model-catalog.ts
@@ -515,10 +515,9 @@ function displayNameForKnownModel(
* never set `capabilities.imageGeneration` for any of them, so the capability
* check below could not fire on bundled data.
*
- * An EMPTY list is not evidence. `modalities.output` is typed to text, image,
- * and audio, so a video model's real output has no representation and
- * serializes as `[]` — the same shape a future generator bug would produce.
- * Only a non-empty list says something, and what it says is what it lists.
+ * An EMPTY list is not evidence. A provider that declared no output modality
+ * and a generator bug that dropped them produce the same shape. Only a
+ * non-empty list says something, and what it says is what it lists.
*/
function declaresNoTextOutput(model: ModelInfo): boolean {
const output = model.modalities?.output;
diff --git a/packages/core/src/model-facts.ts b/packages/core/src/model-facts.ts
index 99f9ecbbef..11336a5dfd 100644
--- a/packages/core/src/model-facts.ts
+++ b/packages/core/src/model-facts.ts
@@ -194,7 +194,7 @@ function normalizeModalities(value: unknown): NonNullable<ModelFactOverride['mod
if (value.input === undefined && value.output === undefined)
throw new Error('Invalid modalities');
const input = normalizeModalityDirection(value.input, isModality);
- const output = normalizeModalityDirection(value.output, isOutputModality);
+ const output = normalizeModalityDirection(value.output, isModality);
return {
...(input === undefined ? {} : { input }),
...(output === undefined ? {} : { output }),
@@ -212,11 +212,14 @@ function normalizeModalityDirection<T extends string>(
return [...new Set(entries)];
}
-function isModality(value: unknown): value is 'text' | 'image' | 'audio' | 'pdf' {
- return value === 'text' || value === 'image' || value === 'audio' || value === 'pdf';
-}
-function isOutputModality(value: unknown): value is 'text' | 'image' | 'audio' {
- return value === 'text' || value === 'image' || value === 'audio';
+function isModality(value: unknown): value is 'text' | 'image' | 'audio' | 'pdf' | 'video' {
+ return (
+ value === 'text' ||
+ value === 'image' ||
+ value === 'audio' ||
+ value === 'pdf' ||
+ value === 'video'
+ );
}
function isPositiveBoundedInteger(value: unknown): value is number {
return (
diff --git a/packages/core/src/runtime-policy/connection-catalog-codec.ts b/packages/core/src/runtime-policy/connection-catalog-codec.ts
index fa0c6a1c15..9292b69cfe 100644
--- a/packages/core/src/runtime-policy/connection-catalog-codec.ts
+++ b/packages/core/src/runtime-policy/connection-catalog-codec.ts
@@ -600,23 +600,27 @@ function decodeModelModalities(value: unknown): NonNullable<ConnectionModel['mod
if (!Array.isArray(item.input) || !Array.isArray(item.output)) {
throw domainError('connection model modalities must contain input and output arrays');
}
- const input = Array.from(item.input, (entry) => decodeModelInputModality(entry));
- const output = Array.from(item.output, (entry) => decodeModelOutputModality(entry));
+ const input = Array.from(item.input, (entry) => decodeModelModality(entry, 'input'));
+ const output = Array.from(item.output, (entry) => decodeModelModality(entry, 'output'));
return { input, output };
}
-function decodeModelInputModality(value: unknown): 'text' | 'image' | 'audio' | 'pdf' {
- const modality = stringValue(value, 'connection model input modality', 16);
- if (modality !== 'text' && modality !== 'image' && modality !== 'audio' && modality !== 'pdf') {
- throw domainError('connection model input modality is invalid');
- }
- return modality;
-}
-
-function decodeModelOutputModality(value: unknown): 'text' | 'image' | 'audio' {
- const modality = stringValue(value, 'connection model output modality', 16);
- if (modality !== 'text' && modality !== 'image' && modality !== 'audio') {
- throw domainError('connection model output modality is invalid');
+// Both directions accept the same set. models.dev declares video on either
+// side and pdf on both, so splitting them again only invites one direction to
+// drift behind the catalog it decodes.
+function decodeModelModality(
+ value: unknown,
+ direction: 'input' | 'output',
+): 'text' | 'image' | 'audio' | 'pdf' | 'video' {
+ const modality = stringValue(value, `connection model ${direction} modality`, 16);
+ if (
+ modality !== 'text' &&
+ modality !== 'image' &&
+ modality !== 'audio' &&
+ modality !== 'pdf' &&
+ modality !== 'video'
+ ) {
+ throw domainError(`connection model ${direction} modality is invalid`);
}
return modality;
}
diff --git a/packages/runtime-host/src/protocol/index.ts b/packages/runtime-host/src/protocol/index.ts
index 8aff63a16a..0a7784ff03 100644
--- a/packages/runtime-host/src/protocol/index.ts
+++ b/packages/runtime-host/src/protocol/index.ts
@@ -95,7 +95,13 @@ export const RUNTIME_HOST_REGISTRATION_SCHEMA_VERSION = 1 as const;
export const RUNTIME_HOST_PROTOCOL_VERSION = 0 as const;
// Increment when the same protocol version no longer guarantees safe Client-Host
// interoperability. Mismatches are rejected before domain commands are admitted.
-export const RUNTIME_HOST_COMPATIBILITY_EPOCH = 87 as const;
+export const RUNTIME_HOST_COMPATIBILITY_EPOCH = 88 as const;
+// 88: Catalog model modalities admit video on either side and pdf as output.
+// models.dev declares both, and the modality decoder rejects any value it does
+// not name, so a newer Host describing such a model fails an older client's
+// catalog decode outright rather than losing one field. The handshake keeps
+// that pairing from forming; a newer client simply never sees the new values
+// from an older Host.
// 87: The connection catalog projects each model as the Host resolved it —
// a `catalog_entry` item per model, counted by the connection header. Clients
// render those entries instead of merging the stored row against their own
diff --git a/scripts/sync-model-metadata.mjs b/scripts/sync-model-metadata.mjs
index 2869c04416..1a6496357a 100644
--- a/scripts/sync-model-metadata.mjs
+++ b/scripts/sync-model-metadata.mjs
@@ -25,6 +25,10 @@ import { dirname } from 'node:path';
import { pathToFileURL } from 'node:url';
const SOURCE_URL = 'https://models.dev/api.json';
+// Must stay in step with ModelInfo['modalities'] in packages/core. A value
+// that reaches the projection but not the wire type fails the build; a value
+// missing here drops the whole refresh, not just the model that declares it.
+const MODALITIES = new Set(['text', 'image', 'audio', 'pdf', 'video']);
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';
@@ -540,12 +544,8 @@ 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',
- )
+ model.modalities?.input.some((value) => !MODALITIES.has(value)) ||
+ model.modalities?.output.some((value) => !MODALITIES.has(value))
) {
throw new Error(`models.dev model ${providerId}/${modelId} has unsupported modalities`);
}
diff --git a/scripts/sync-model-metadata.test.mjs b/scripts/sync-model-metadata.test.mjs
index 021b2aaf85..b0c9f0eef3 100644
--- a/scripts/sync-model-metadata.test.mjs
+++ b/scripts/sync-model-metadata.test.mjs
@@ -280,7 +280,7 @@ test('refresh rejects unknown model modalities instead of dropping them', async
const snapshot = join(root, 'snapshot.json');
const metadata = join(root, 'metadata.ts');
const catalog = fixtureCatalog();
- catalog.anthropic.models.model.modalities = { input: ['text', 'video'], output: ['text'] };
+ catalog.anthropic.models.model.modalities = { input: ['text', 'hologram'], output: ['text'] };
await writeFile(input, JSON.stringify(catalog));
await assert.rejects(
@@ -302,6 +302,36 @@ test('refresh rejects unknown model modalities instead of dropping them', async
}
});
+test('refresh carries the video and pdf modalities models.dev declares', async () => {
+ const root = await mkdtemp(join(tmpdir(), 'maka-model-snapshot-video-'));
+ try {
+ const input = join(root, 'api.json');
+ const snapshot = join(root, 'snapshot.json');
+ const metadata = join(root, 'metadata.ts');
+ const catalog = fixtureCatalog();
+ const modalities = { input: ['text', 'video'], output: ['text', 'pdf', 'video'] };
+ catalog.anthropic.models.model.modalities = modalities;
+ await writeFile(input, JSON.stringify(catalog));
+
+ 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, modalities);
+ } finally {
+ await rm(root, { recursive: true, force: true });
+ }
+});
+
test('refresh rejects a partial provider shrink until it is explicitly accepted', async () => {
const root = await mkdtemp(join(tmpdir(), 'maka-model-snapshot-provider-shrink-'));
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
(maka) 09/09: fix(ci): let the scheduled refresh reach the pull request it exists to open
Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
Astro-Han pushed a commit to branch ci/4398-model-metadata-drift-check
in repository https://gitbox.apache.org/repos/asf/maka.git
commit b9e9bbb7eee043d564579501e7c727e4c44e809f
Author: AstroHan <le...@outlook.com>
AuthorDate: Tue Sep 1 21:04:35 2026 +0800
fix(ci): let the scheduled refresh reach the pull request it exists to open
The job refused --accept-upstream-removals, and the removal guard's
remediation is "inspect the upstream change and rerun with the flag" -- an
action only a person at a terminal can take. Upstream retires roughly seven
projection paths a day, so a weekly run failed at the refresh and never
reached the step that opens the pull request. A snapshot one day old was
already enough: one retired openrouter model.
The review seat is the draft pull request. Every removal is in its diff, the
drift report is in its body, and a committer still approves before anything
merges; the flag says that is where the acknowledgement happens.
Three further repairs to the same step:
- `gh pr view` succeeds for a CLOSED pull request. A maintainer closing an
unwanted refresh would have left every later run force-pushing, printing
"updated the open pull request", creating nothing, and exiting green. Only
an open-state listing decides now, and the body is rewritten on update so
it cannot describe an older commit.
- The force push is leased, and the job refuses a branch tip it did not
write, so a reviewer's commit on the open pull request survives.
- The token travels in a header rather than the remote URL, which git echoes
back in its own error messages.
The drift step no longer swallows failure. Piping to tee discarded the exit
status under the default shell, which made continue-on-error dead
configuration; the step now tolerates the documented drift status and stops
the job on anything else.
Generated-by: Claude Code
---
.github/workflows/model-metadata-upkeep.yml | 56 ++++++++++++++++------
.../model-metadata-upkeep-workflow-policy.test.mjs | 26 +++++++---
2 files changed, 62 insertions(+), 20 deletions(-)
diff --git a/.github/workflows/model-metadata-upkeep.yml b/.github/workflows/model-metadata-upkeep.yml
index 9960f0f3fe..07016276d0 100644
--- a/.github/workflows/model-metadata-upkeep.yml
+++ b/.github/workflows/model-metadata-upkeep.yml
@@ -59,10 +59,15 @@ jobs:
run: npm ci --ignore-scripts
- name: Report snapshot drift against models.dev
- # Drift exits non-zero by design. The report is what this step is for,
- # and the refresh below is what decides whether the run fails.
- continue-on-error: true
- run: npm run --silent check:model-metadata-drift 2>&1 | tee "$RUNNER_TEMP/drift.txt"
+ # Exit 2 is "upstream moved", which is the expected outcome and the
+ # reason this step exists. Any other non-zero status is the command
+ # itself failing, and the job stops on it.
+ run: |
+ npm run --silent check:model-metadata-drift > "$RUNNER_TEMP/drift.txt" || {
+ status=$?
+ cat "$RUNNER_TEMP/drift.txt"
+ [ "$status" -eq 2 ] || exit "$status"
+ }
- name: Publish the drift report
run: |
@@ -74,11 +79,13 @@ jobs:
echo '```'
} >> "$GITHUB_STEP_SUMMARY"
- # No --accept-upstream-removals. A model leaving upstream is a decision
- # for a person, so the job fails and says so rather than committing the
- # removal into a pull request nobody asked for.
+ # --accept-upstream-removals, because the review seat this job is built
+ # around is the draft pull request below. A person still inspects every
+ # removal and still decides, in the diff, with the drift report in the
+ # body; refusing here would only make the job red every week, since it
+ # cannot rerun itself the way the acknowledgement asks a human to.
- name: Refresh the snapshot from models.dev
- run: npm run refresh:model-metadata
+ run: npm run refresh:model-metadata -- --accept-upstream-removals
- name: Verify the regenerated outputs
run: npm run check:model-metadata
@@ -122,12 +129,33 @@ jobs:
git switch -c "$BRANCH"
git add scripts/model-metadata/models-dev-api.snapshot.json
git commit -m "$TITLE"
- git push --force \
- "https://x-access-token:${GH_TOKEN}@github.com/${GITHUB_REPOSITORY}" \
- "HEAD:refs/heads/$BRANCH"
- # A force push updates an open pull request in place, so only open one
- # when none is waiting.
- if gh pr view "$BRANCH" --json number >/dev/null 2>&1; then
+ # The token travels in a header rather than the remote URL, which git
+ # echoes back in its own error messages.
+ AUTH="$(printf 'x-access-token:%s' "$GH_TOKEN" | base64 | tr -d '\n')"
+ REMOTE="https://github.com/${GITHUB_REPOSITORY}"
+ TIP="$(git -c "http.extraheader=Authorization: Basic $AUTH" \
+ ls-remote "$REMOTE" "refs/heads/$BRANCH" | cut -f1)"
+ if [ -n "$TIP" ]; then
+ # This branch only ever carries commits this job wrote. Anything
+ # else is a person working on the open pull request, and a force
+ # push would erase it.
+ git -c "http.extraheader=Authorization: Basic $AUTH" \
+ fetch --depth=1 "$REMOTE" "refs/heads/$BRANCH"
+ if [ "$(git log -1 --format=%s FETCH_HEAD)" != "$TITLE" ]; then
+ echo "::error::$BRANCH carries a commit this workflow did not write; refusing to overwrite it."
+ exit 1
+ fi
+ git -c "http.extraheader=Authorization: Basic $AUTH" push \
+ "--force-with-lease=refs/heads/$BRANCH:$TIP" "$REMOTE" "HEAD:refs/heads/$BRANCH"
+ else
+ git -c "http.extraheader=Authorization: Basic $AUTH" push \
+ "$REMOTE" "HEAD:refs/heads/$BRANCH"
+ fi
+ # A plain existence lookup also succeeds for a closed pull request,
+ # which would leave a maintainer's decision to close one silently
+ # disabling this job forever. Only an open one is one to update.
+ if [ "$(gh pr list --head "$BRANCH" --state open --json number --jq 'length')" -gt 0 ]; then
+ gh pr edit "$BRANCH" --body-file "$RUNNER_TEMP/pr-body.md"
echo "Updated the open pull request on $BRANCH."
else
gh pr create --draft --base main --head "$BRANCH" \
diff --git a/scripts/model-metadata-upkeep-workflow-policy.test.mjs b/scripts/model-metadata-upkeep-workflow-policy.test.mjs
index 2c3884c76c..8e82644b2a 100644
--- a/scripts/model-metadata-upkeep-workflow-policy.test.mjs
+++ b/scripts/model-metadata-upkeep-workflow-policy.test.mjs
@@ -66,7 +66,7 @@ test('only the scheduled job writes, and only on the canonical repository', asyn
assert.equal(stepNamed(workflow, 'Check out the repository').with['persist-credentials'], false);
});
-test('the refresh reports drift first and refuses to waive upstream removals', async () => {
+test('the refresh reports drift before it writes, and tolerates only drift', async () => {
const workflow = await readUpkeepWorkflow();
const order = [
'Report snapshot drift against models.dev',
@@ -74,11 +74,11 @@ test('the refresh reports drift first and refuses to waive upstream removals', a
].map((name) => workflow.jobs.refresh.steps.findIndex((step) => step.name === name));
assert.ok(order.every((position) => position >= 0));
assert.ok(order[0] < order[1]);
- assert.equal(
- stepNamed(workflow, 'Report snapshot drift against models.dev')['continue-on-error'],
- true,
- );
- assert.doesNotMatch(JSON.stringify(workflow), /--accept-upstream-removals/u);
+ const drift = stepNamed(workflow, 'Report snapshot drift against models.dev');
+ // A blanket continue-on-error would hide the command failing outright. Only
+ // the documented drift status is tolerated.
+ assert.equal(drift['continue-on-error'], undefined);
+ assert.match(drift.run, /\[ "\$status" -eq 2 \] \|\| exit "\$status"/u);
});
test('the pull request is opened for review and never merged by the job', async () => {
@@ -86,6 +86,20 @@ test('the pull request is opened for review and never merged by the job', async
const open = stepNamed(workflow, 'Open the review pull request');
assert.match(open.run, /gh pr create --draft/u);
assert.doesNotMatch(JSON.stringify(workflow), /gh pr merge|--auto\b|--admin\b/u);
+ // A closed pull request must not read as one to update; gh pr view says it
+ // does, so only an open-state listing decides.
+ assert.doesNotMatch(open.run, /gh pr view/u);
+ assert.match(open.run, /gh pr list --head "\$BRANCH" --state open/u);
+});
+
+test('the branch this job pushes never loses a commit someone else wrote', async () => {
+ const workflow = await readUpkeepWorkflow();
+ const open = stepNamed(workflow, 'Open the review pull request');
+ assert.doesNotMatch(open.run, /push\s+--force\b|push\s+-f\b/u);
+ assert.match(open.run, /--force-with-lease=refs\/heads\/\$BRANCH:\$TIP/u);
+ // The token belongs in a header. A remote URL carrying it is echoed back by
+ // git's own error messages.
+ assert.doesNotMatch(JSON.stringify(workflow), /x-access-token:\$\{?GH_TOKEN/u);
});
test('the drift check stays out of the checks that run on every pull request', async () => {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
(maka) 02/09: refactor(core): drop the unread ModelMetadata.docsUrl
Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
Astro-Han pushed a commit to branch ci/4398-model-metadata-drift-check
in repository https://gitbox.apache.org/repos/asf/maka.git
commit 5488f7c4096b85471c37d87efd1109419ac16117
Author: AstroHan <le...@outlook.com>
AuthorDate: Tue Sep 1 18:16:37 2026 +0800
refactor(core): drop the unread ModelMetadata.docsUrl
Nothing in packages or apps ever read `docsUrl`. It was a per-model copy
of the provider's `doc` field, which the generated provider facts already
carry once per provider, so every model row paid for a duplicate no
renderer asked for.
The snapshot stores the projected shape rather than the upstream bytes,
so the field cannot leave the type without leaving the snapshot in the
same change: 1871 keys removed and the projection digest recomputed. That
is a shape migration of a generated artifact, the same kind its own
`origin.kind` already records. A refresh run against today's upstream
produces exactly this shape, and `check:model-metadata` re-derives the
digest, so the migrated file is not taken on trust.
The snapshot's content vintage is unchanged; only the field is gone.
Generated-by: Claude Code
---
packages/core/src/__tests__/model-metadata.test.ts | 1 -
packages/core/src/model-metadata.ts | 8 -
.../model-metadata/models-dev-api.snapshot.json | 1873 +-------------------
scripts/sync-model-metadata.mjs | 1 -
4 files changed, 1 insertion(+), 1882 deletions(-)
diff --git a/packages/core/src/__tests__/model-metadata.test.ts b/packages/core/src/__tests__/model-metadata.test.ts
index 8f9e01cfe0..2696510d85 100644
--- a/packages/core/src/__tests__/model-metadata.test.ts
+++ b/packages/core/src/__tests__/model-metadata.test.ts
@@ -138,7 +138,6 @@ describe('deepseek v4 flash vision exp metadata regression', () => {
metadata.description,
'Experimental DeepSeek V4 Flash model for image understanding and multimodal agent tasks',
);
- assert.equal(metadata.docsUrl, 'https://api-docs.deepseek.com/guides/vision/');
assert.equal(metadata.contextWindow, 1_000_000);
assert.equal(metadata.maxOutputTokens, 384_000);
assert.equal(metadata.structuredOutput, true);
diff --git a/packages/core/src/model-metadata.ts b/packages/core/src/model-metadata.ts
index 4c8268be63..81366ad80f 100644
--- a/packages/core/src/model-metadata.ts
+++ b/packages/core/src/model-metadata.ts
@@ -28,7 +28,6 @@ export interface ModelMetadata {
displayName?: string;
description?: string;
lifecycle?: 'active' | 'beta' | 'alpha' | 'deprecated' | 'retired';
- docsUrl?: string;
contextWindow?: number;
inputLimit?: number;
maxOutputTokens?: number;
@@ -242,8 +241,6 @@ const SILICONFLOW_MODEL_OVERRIDES: Record<string, ModelMetadata> = Object.fromEn
.map(([id]) => [id, { capabilities: { chat: true } }]),
);
-const VOLCENGINE_CODING_PLAN_DOCS = 'https://www.volcengine.com/docs/82379/1925114';
-const VOLCENGINE_AGENT_PLAN_DOCS = 'https://www.volcengine.com/docs/82379/2366394';
const VOLCENGINE_CODING_PLAN_MODEL_METADATA: Record<string, ModelMetadata> = {
'ark-code-latest': planModel('Ark Code Latest', false),
'doubao-seed-2.0-code': planModel('Doubao Seed 2.0 Code', true),
@@ -351,7 +348,6 @@ const STATIC_MODEL_METADATA: Partial<Record<ProviderType, Record<string, ModelMe
'doubao-seed-2-0-pro-260215': {
displayName: 'Doubao Seed 2.0 Pro',
lifecycle: 'active',
- docsUrl: 'https://www.volcengine.com/docs/82379',
capabilities: { reasoning: true, functionCalling: true },
thinkingOptions: {
efforts: ['minimal', 'low', 'medium', 'high'],
@@ -413,7 +409,6 @@ const STATIC_MODEL_METADATA: Partial<Record<ProviderType, Record<string, ModelMe
displayName: 'DeepSeek-V4-Flash-Vision-Exp',
description:
'Experimental DeepSeek V4 Flash model for image understanding and multimodal agent tasks',
- docsUrl: 'https://api-docs.deepseek.com/guides/vision/',
contextWindow: 1_000_000,
maxOutputTokens: 384_000,
structuredOutput: true,
@@ -443,7 +438,6 @@ function planModel(
return {
displayName,
lifecycle: 'active',
- docsUrl: VOLCENGINE_CODING_PLAN_DOCS,
...(contextWindow === undefined ? {} : { contextWindow }),
...(maxOutputTokens === undefined ? {} : { maxOutputTokens }),
capabilities: { ...REASONING_FUNCTION_CALLING, vision },
@@ -462,7 +456,6 @@ function agentPlanModel(
return {
displayName,
lifecycle: options.lifecycle ?? 'active',
- docsUrl: VOLCENGINE_AGENT_PLAN_DOCS,
contextWindow,
maxOutputTokens,
capabilities: {
@@ -483,7 +476,6 @@ function displayMetadataOnly(
displayName: metadata.displayName,
...(metadata.description !== undefined ? { description: metadata.description } : {}),
lifecycle: metadata.lifecycle,
- docsUrl: metadata.docsUrl,
...(metadata.knowledgeCutoff !== undefined
? { knowledgeCutoff: metadata.knowledgeCutoff }
: {}),
diff --git a/scripts/model-metadata/models-dev-api.snapshot.json b/scripts/model-metadata/models-dev-api.snapshot.json
index 34667f1fcc..9f81accaa3 100644
--- a/scripts/model-metadata/models-dev-api.snapshot.json
+++ b/scripts/model-metadata/models-dev-api.snapshot.json
@@ -5,7 +5,7 @@
"kind": "generated-output-migration",
"commit": "729839ed8ada3e5498b0ad27e64fb42dfd283ae7"
},
- "projectionSha256": "6957e4d11c649fa77dc33474bd67390a28d290c994f34dabac23f539b5f59149",
+ "projectionSha256": "ed57286d0b96112574c227b5a327bfa5bbd572233b0bf2a27fe41e00d511beee",
"projection": {
"metadata": {
"anthropic": {
@@ -13,7 +13,6 @@
"displayName": "Claude Fable 5",
"description": "Claude model for creative writing, analysis, and controlled agent workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.anthropic.com/en/docs/about-claude/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -35,7 +34,6 @@
"displayName": "Claude Haiku 4.5 (latest)",
"description": "Fast Claude lane for lightweight agents, office tasks, and responsive chat",
"lifecycle": "active",
- "docsUrl": "https://docs.anthropic.com/en/docs/about-claude/models",
"contextWindow": 200000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-02-28",
@@ -55,7 +53,6 @@
"displayName": "Claude Haiku 4.5",
"description": "Fast Claude model for responsive assistance, classification, and lightweight agents",
"lifecycle": "active",
- "docsUrl": "https://docs.anthropic.com/en/docs/about-claude/models",
"contextWindow": 200000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-02-28",
@@ -75,7 +72,6 @@
"displayName": "Claude Opus 4.5 (latest)",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://docs.anthropic.com/en/docs/about-claude/models",
"contextWindow": 200000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-05",
@@ -98,7 +94,6 @@
"displayName": "Claude Opus 4.5",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://docs.anthropic.com/en/docs/about-claude/models",
"contextWindow": 200000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-05",
@@ -121,7 +116,6 @@
"displayName": "Claude Opus 4.6",
"description": "High-end Claude for difficult coding, planning, and slower expert reasoning",
"lifecycle": "active",
- "docsUrl": "https://docs.anthropic.com/en/docs/about-claude/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2025-05-31",
@@ -144,7 +138,6 @@
"displayName": "Claude Opus 4.7",
"description": "Stronger Opus tier for advanced software work and high-stakes reasoning",
"lifecycle": "active",
- "docsUrl": "https://docs.anthropic.com/en/docs/about-claude/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01-31",
@@ -167,7 +160,6 @@
"displayName": "Claude Opus 4.8",
"description": "Top Claude Opus tier for the hardest reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://docs.anthropic.com/en/docs/about-claude/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01",
@@ -190,7 +182,6 @@
"displayName": "Claude Opus 5",
"description": "Strongest Claude Opus model for coding, agents, and professional work",
"lifecycle": "active",
- "docsUrl": "https://docs.anthropic.com/en/docs/about-claude/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-05",
@@ -213,7 +204,6 @@
"displayName": "Claude Sonnet 4.5 (latest)",
"description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
"lifecycle": "active",
- "docsUrl": "https://docs.anthropic.com/en/docs/about-claude/models",
"contextWindow": 1000000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-07-31",
@@ -233,7 +223,6 @@
"displayName": "Claude Sonnet 4.5",
"description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
"lifecycle": "active",
- "docsUrl": "https://docs.anthropic.com/en/docs/about-claude/models",
"contextWindow": 1000000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-07-31",
@@ -253,7 +242,6 @@
"displayName": "Claude Sonnet 4.6",
"description": "Claude workhorse for coding agents, careful analysis, and production cost control",
"lifecycle": "active",
- "docsUrl": "https://docs.anthropic.com/en/docs/about-claude/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2025-08-31",
@@ -276,7 +264,6 @@
"displayName": "Claude Sonnet 5",
"description": "Everyday Claude agent model for coding, planning, browsing, and general work",
"lifecycle": "active",
- "docsUrl": "https://docs.anthropic.com/en/docs/about-claude/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01-31",
@@ -302,7 +289,6 @@
"displayName": "DeepSeek V4 Flash 0731",
"description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -326,7 +312,6 @@
"displayName": "GLM-5.2",
"description": "Open flagship GLM for long-horizon coding agents and million-token context work",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -348,7 +333,6 @@
"displayName": "QVQ Max",
"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": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -367,7 +351,6 @@
"displayName": "Qwen Flash",
"description": "Efficient Qwen model for fast chat, extraction, and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-04",
@@ -389,7 +372,6 @@
"displayName": "Qwen Max",
"description": "Flagship Qwen model for complex reasoning, coding, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -408,7 +390,6 @@
"displayName": "Qwen-MT Plus",
"description": "Translation model for multilingual conversion, localization, and cross-language workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 16384,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -427,7 +408,6 @@
"displayName": "Qwen-MT Turbo",
"description": "Translation model for multilingual conversion, localization, and cross-language workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 16384,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -446,7 +426,6 @@
"displayName": "Qwen-Omni Turbo",
"description": "Qwen omni model for text, vision, audio, and multimodal agent tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 2048,
"knowledgeCutoff": "2024-04",
@@ -465,7 +444,6 @@
"displayName": "Qwen-Omni Turbo Realtime",
"description": "Qwen omni model for text, vision, audio, and multimodal agent tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 2048,
"knowledgeCutoff": "2024-04",
@@ -484,7 +462,6 @@
"displayName": "Qwen Plus",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-04",
@@ -506,7 +483,6 @@
"displayName": "Qwen Plus Character (Japanese)",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 8192,
"maxOutputTokens": 512,
"knowledgeCutoff": "2024-04",
@@ -525,7 +501,6 @@
"displayName": "Qwen Turbo",
"description": "Efficient Qwen model for fast chat, extraction, and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-04",
@@ -547,7 +522,6 @@
"displayName": "Qwen-VL Max",
"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": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -566,7 +540,6 @@
"displayName": "Qwen-VL OCR",
"description": "OCR model for extracting structured text from documents and screenshots",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 34096,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2024-04",
@@ -585,7 +558,6 @@
"displayName": "Qwen-VL Plus",
"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": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -604,7 +576,6 @@
"displayName": "Qwen2.5 14B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -623,7 +594,6 @@
"displayName": "Qwen2.5 32B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -642,7 +612,6 @@
"displayName": "Qwen2.5 72B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -661,7 +630,6 @@
"displayName": "Qwen2.5 7B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -680,7 +648,6 @@
"displayName": "Qwen2.5-Omni 7B",
"description": "Qwen omni model for text, vision, audio, and multimodal agent tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 2048,
"knowledgeCutoff": "2024-04",
@@ -699,7 +666,6 @@
"displayName": "Qwen2.5-VL 72B Instruct",
"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": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -718,7 +684,6 @@
"displayName": "Qwen2.5-VL 7B Instruct",
"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": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -737,7 +702,6 @@
"displayName": "Qwen3 14B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2025-04",
@@ -759,7 +723,6 @@
"displayName": "Qwen3 235B-A22B",
"description": "Large open Qwen MoE for multilingual reasoning, coding, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -781,7 +744,6 @@
"displayName": "Qwen3 32B",
"description": "Dense open Qwen model for self-hosted chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -803,7 +765,6 @@
"displayName": "Qwen3 8B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2025-04",
@@ -825,7 +786,6 @@
"displayName": "Qwen3-ASR Flash",
"description": "Speech transcription model for accurate audio-to-text and captioning workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 53248,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2024-04",
@@ -844,7 +804,6 @@
"displayName": "Qwen3-Coder 30B-A3B Instruct",
"description": "Smaller Qwen coder for efficient local agents and repo-level fixes",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -863,7 +822,6 @@
"displayName": "Qwen3-Coder 480B-A35B Instruct",
"description": "Open Qwen coding heavyweight for repository reasoning and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -882,7 +840,6 @@
"displayName": "Qwen3 Coder Flash",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -901,7 +858,6 @@
"displayName": "Qwen3 Coder Plus",
"description": "Hosted Qwen coder for software agents, repo edits, and long-context code",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -920,7 +876,6 @@
"displayName": "Qwen3-LiveTranslate Flash Realtime",
"description": "Speech generation model for controllable voice, narration, and audio delivery",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 53248,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2024-04",
@@ -939,7 +894,6 @@
"displayName": "Qwen3 Max",
"description": "Flagship Qwen3 model for coding agents, complex reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -958,7 +912,6 @@
"displayName": "Qwen3-Next 80B-A3B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -977,7 +930,6 @@
"displayName": "Qwen3-Next 80B-A3B (Thinking)",
"description": "Efficient Qwen thinking model for local reasoning, math, and coding agents",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -996,7 +948,6 @@
"displayName": "Qwen3-Omni Flash",
"description": "Qwen omni model for text, vision, audio, and multimodal agent tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 65536,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-04",
@@ -1018,7 +969,6 @@
"displayName": "Qwen3-Omni Flash Realtime",
"description": "Qwen omni model for text, vision, audio, and multimodal agent tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 65536,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-04",
@@ -1037,7 +987,6 @@
"displayName": "Qwen3-VL 235B-A22B",
"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": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -1056,7 +1005,6 @@
"displayName": "Qwen3-VL 30B-A3B",
"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": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -1075,7 +1023,6 @@
"displayName": "Qwen3-VL Plus",
"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": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -1097,7 +1044,6 @@
"displayName": "Qwen3.5 122B-A10B",
"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": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -1119,7 +1065,6 @@
"displayName": "Qwen3.5 27B",
"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": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -1141,7 +1086,6 @@
"displayName": "Qwen3.5 35B-A3B",
"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": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -1163,7 +1107,6 @@
"displayName": "Qwen3.5 397B-A17B",
"description": "Large open Qwen multimodal MoE for visual agents and long technical tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -1185,7 +1128,6 @@
"displayName": "Qwen3.5 Plus",
"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": 65536,
"knowledgeCutoff": "2025-04",
@@ -1207,7 +1149,6 @@
"displayName": "Qwen3.6 27B",
"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": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -1229,7 +1170,6 @@
"displayName": "Qwen3.6 35B-A3B",
"description": "Open multimodal Qwen MoE for local agents that need vision, audio, and code",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -1251,7 +1191,6 @@
"displayName": "Qwen3.6 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": 65536,
"structuredOutput": true,
@@ -1273,7 +1212,6 @@
"displayName": "Qwen3.6 Max Preview",
"description": "Flagship Qwen model for complex reasoning, coding, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -1295,7 +1233,6 @@
"displayName": "Qwen3.6 Plus",
"description": "Earlier Qwen multimodal workhorse for million-token agent and document tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -1317,7 +1254,6 @@
"displayName": "Qwen3.7 Max",
"description": "Qwen frontier model tuned for agent frameworks, coding assistants, and long tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"lastUpdated": "2026-05-21",
@@ -1338,7 +1274,6 @@
"displayName": "Qwen3.7 Plus",
"description": "Multimodal Qwen workhorse for long-context agents, visual inputs, and coding",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -1360,7 +1295,6 @@
"displayName": "Qwen3.8 Max",
"description": "2.4-trillion-parameter MoE flagship for coding, professional work, multimodal understanding, and long-horizon agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -1383,7 +1317,6 @@
"displayName": "QwQ Plus",
"description": "Qwen reasoning model for deliberate problem solving, math, and coding",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -1404,7 +1337,6 @@
"displayName": "DeepSeek R1",
"description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"lastUpdated": "2025-01-01",
@@ -1422,7 +1354,6 @@
"displayName": "DeepSeek R1 0528",
"description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"lastUpdated": "2025-05-28",
@@ -1440,7 +1371,6 @@
"displayName": "DeepSeek R1 Distill Llama 70B",
"description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 16384,
"lastUpdated": "2025-01-01",
@@ -1458,7 +1388,6 @@
"displayName": "DeepSeek R1 Distill Llama 8B",
"description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 16384,
"lastUpdated": "2025-01-01",
@@ -1476,7 +1405,6 @@
"displayName": "DeepSeek R1 Distill Qwen 1.5B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 16384,
"lastUpdated": "2025-01-01",
@@ -1494,7 +1422,6 @@
"displayName": "DeepSeek R1 Distill Qwen 14B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 16384,
"lastUpdated": "2025-01-01",
@@ -1512,7 +1439,6 @@
"displayName": "DeepSeek R1 Distill Qwen 32B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 16384,
"lastUpdated": "2025-01-01",
@@ -1530,7 +1456,6 @@
"displayName": "DeepSeek R1 Distill Qwen 7B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 16384,
"lastUpdated": "2025-01-01",
@@ -1548,7 +1473,6 @@
"displayName": "DeepSeek V3",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 65536,
"maxOutputTokens": 8192,
"lastUpdated": "2024-12-01",
@@ -1566,7 +1490,6 @@
"displayName": "DeepSeek V3.1",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"lastUpdated": "2025-01-01",
@@ -1584,7 +1507,6 @@
"displayName": "DeepSeek V3.2 Exp",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"lastUpdated": "2025-01-01",
@@ -1602,7 +1524,6 @@
"displayName": "DeepSeek V4 Flash",
"description": "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -1626,7 +1547,6 @@
"displayName": "DeepSeek V4 Pro",
"description": "Open MoE flagship with million-token context for coding and long agent runs",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -1650,7 +1570,6 @@
"displayName": "GLM-5",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 202752,
"maxOutputTokens": 16384,
"lastUpdated": "2026-02-11",
@@ -1671,7 +1590,6 @@
"displayName": "GLM-5.1",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 202752,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -1693,7 +1611,6 @@
"displayName": "GLM-5.2",
"description": "Open flagship GLM for long-horizon coding agents and million-token context work",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -1712,7 +1629,6 @@
"displayName": "Moonshot Kimi K2 Thinking",
"description": "Kimi reasoning model for long-horizon research, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 262144,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -1731,7 +1647,6 @@
"displayName": "Moonshot Kimi K2.5",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-01",
@@ -1754,7 +1669,6 @@
"displayName": "Moonshot Kimi K2.6",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 262144,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-01",
@@ -1777,7 +1691,6 @@
"displayName": "kimi/kimi-k2.5",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -1800,7 +1713,6 @@
"displayName": "MiniMax-M2.5",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-02-12",
@@ -1818,7 +1730,6 @@
"displayName": "MiniMax-M2.7",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-03-18",
@@ -1836,7 +1747,6 @@
"displayName": "Moonshot Kimi K2 Instruct",
"description": "Kimi model for long-context chat, coding, and agentic reasoning",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"structuredOutput": false,
@@ -1855,7 +1765,6 @@
"displayName": "QVQ Max",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -1874,7 +1783,6 @@
"displayName": "Qwen Deep Research",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-04",
@@ -1893,7 +1801,6 @@
"displayName": "Qwen Doc Turbo",
"description": "Efficient Qwen model for fast chat, extraction, and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -1912,7 +1819,6 @@
"displayName": "Qwen Flash",
"description": "Efficient Qwen model for fast chat, extraction, and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-04",
@@ -1934,7 +1840,6 @@
"displayName": "Qwen Long",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 10000000,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -1953,7 +1858,6 @@
"displayName": "Qwen Math Plus",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 4096,
"maxOutputTokens": 3072,
"knowledgeCutoff": "2024-04",
@@ -1972,7 +1876,6 @@
"displayName": "Qwen Math Turbo",
"description": "Efficient Qwen model for fast chat, extraction, and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 4096,
"maxOutputTokens": 3072,
"knowledgeCutoff": "2024-04",
@@ -1991,7 +1894,6 @@
"displayName": "Qwen Max",
"description": "Flagship Qwen model for complex reasoning, coding, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2010,7 +1912,6 @@
"displayName": "Qwen-MT Plus",
"description": "Translation model for multilingual conversion, localization, and cross-language workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 16384,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2029,7 +1930,6 @@
"displayName": "Qwen-MT Turbo",
"description": "Translation model for multilingual conversion, localization, and cross-language workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 16384,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2048,7 +1948,6 @@
"displayName": "Qwen-Omni Turbo",
"description": "Qwen omni model for text, vision, audio, and multimodal agent tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 2048,
"knowledgeCutoff": "2024-04",
@@ -2067,7 +1966,6 @@
"displayName": "Qwen-Omni Turbo Realtime",
"description": "Qwen omni model for text, vision, audio, and multimodal agent tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 2048,
"knowledgeCutoff": "2024-04",
@@ -2086,7 +1984,6 @@
"displayName": "Qwen Plus",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-04",
@@ -2108,7 +2005,6 @@
"displayName": "Qwen Plus Character",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2024-04",
@@ -2127,7 +2023,6 @@
"displayName": "Qwen Turbo",
"description": "Efficient Qwen model for fast chat, extraction, and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-04",
@@ -2149,7 +2044,6 @@
"displayName": "Qwen-VL Max",
"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": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2168,7 +2062,6 @@
"displayName": "Qwen-VL OCR",
"description": "OCR model for extracting structured text from documents and screenshots",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 34096,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2024-04",
@@ -2187,7 +2080,6 @@
"displayName": "Qwen-VL Plus",
"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": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2206,7 +2098,6 @@
"displayName": "Qwen2.5 14B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2225,7 +2116,6 @@
"displayName": "Qwen2.5 32B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2244,7 +2134,6 @@
"displayName": "Qwen2.5 72B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2263,7 +2152,6 @@
"displayName": "Qwen2.5 7B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2282,7 +2170,6 @@
"displayName": "Qwen2.5-Coder 32B Instruct",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2301,7 +2188,6 @@
"displayName": "Qwen2.5-Coder 7B Instruct",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2320,7 +2206,6 @@
"displayName": "Qwen2.5-Math 72B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 4096,
"maxOutputTokens": 3072,
"knowledgeCutoff": "2024-04",
@@ -2339,7 +2224,6 @@
"displayName": "Qwen2.5-Math 7B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 4096,
"maxOutputTokens": 3072,
"knowledgeCutoff": "2024-04",
@@ -2358,7 +2242,6 @@
"displayName": "Qwen2.5-Omni 7B",
"description": "Qwen omni model for text, vision, audio, and multimodal agent tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 32768,
"maxOutputTokens": 2048,
"knowledgeCutoff": "2024-04",
@@ -2377,7 +2260,6 @@
"displayName": "Qwen2.5-VL 72B Instruct",
"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": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2396,7 +2278,6 @@
"displayName": "Qwen2.5-VL 7B Instruct",
"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": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2415,7 +2296,6 @@
"displayName": "Qwen3 14B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2025-04",
@@ -2437,7 +2317,6 @@
"displayName": "Qwen3 235B-A22B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -2459,7 +2338,6 @@
"displayName": "Qwen3 32B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -2481,7 +2359,6 @@
"displayName": "Qwen3 8B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2025-04",
@@ -2503,7 +2380,6 @@
"displayName": "Qwen3-ASR Flash",
"description": "Speech transcription model for accurate audio-to-text and captioning workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 53248,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2024-04",
@@ -2522,7 +2398,6 @@
"displayName": "Qwen3-Coder 30B-A3B Instruct",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -2541,7 +2416,6 @@
"displayName": "Qwen3-Coder 480B-A35B Instruct",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -2560,7 +2434,6 @@
"displayName": "Qwen3 Coder Flash",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -2579,7 +2452,6 @@
"displayName": "Qwen3 Coder Plus",
"description": "Hosted Qwen coder for software agents, repo edits, and long-context code",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -2598,7 +2470,6 @@
"displayName": "Qwen3 Max",
"description": "Flagship Qwen model for complex reasoning, coding, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -2617,7 +2488,6 @@
"displayName": "Qwen3-Next 80B-A3B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -2636,7 +2506,6 @@
"displayName": "Qwen3-Next 80B-A3B (Thinking)",
"description": "Qwen reasoning model for deliberate problem solving, math, and coding",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -2655,7 +2524,6 @@
"displayName": "Qwen3-Omni Flash",
"description": "Qwen omni model for text, vision, audio, and multimodal agent tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 65536,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-04",
@@ -2677,7 +2545,6 @@
"displayName": "Qwen3-Omni Flash Realtime",
"description": "Qwen omni model for text, vision, audio, and multimodal agent tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 65536,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-04",
@@ -2696,7 +2563,6 @@
"displayName": "Qwen3-VL 235B-A22B",
"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": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -2715,7 +2581,6 @@
"displayName": "Qwen3-VL 30B-A3B",
"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": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -2734,7 +2599,6 @@
"displayName": "Qwen3-VL Plus",
"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": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -2756,7 +2620,6 @@
"displayName": "Qwen3.5 397B-A17B",
"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": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -2778,7 +2641,6 @@
"displayName": "Qwen3.5 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": 65536,
"knowledgeCutoff": "2025-04",
@@ -2801,7 +2663,6 @@
"displayName": "Qwen3.5 Plus",
"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": 65536,
"knowledgeCutoff": "2025-04",
@@ -2823,7 +2684,6 @@
"displayName": "Qwen3.6 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": 65536,
"structuredOutput": true,
@@ -2845,7 +2705,6 @@
"displayName": "Qwen3.6 Max Preview",
"description": "Flagship Qwen model for complex reasoning, coding, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 245800,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -2867,7 +2726,6 @@
"displayName": "Qwen3.6 Plus",
"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": 65536,
"knowledgeCutoff": "2025-04",
@@ -2889,7 +2747,6 @@
"displayName": "Qwen3.7 Flash",
"description": "Lightweight multimodal Qwen model for high-throughput text, image, and video tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"inputLimit": 991000,
"maxOutputTokens": 65536,
@@ -2912,7 +2769,6 @@
"displayName": "Qwen3.7 Max",
"description": "Qwen frontier model tuned for agent frameworks, coding assistants, and long tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"lastUpdated": "2026-05-21",
@@ -2933,7 +2789,6 @@
"displayName": "Qwen3.7 Plus",
"description": "Multimodal Qwen workhorse for long-context agents, visual inputs, and coding",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-04",
@@ -2955,7 +2810,6 @@
"displayName": "Qwen3.8 Max",
"description": "2.4-trillion-parameter MoE flagship for coding, professional work, multimodal understanding, and long-horizon agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -2978,7 +2832,6 @@
"displayName": "QwQ 32B",
"description": "Qwen reasoning model for deliberate problem solving, math, and coding",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -2997,7 +2850,6 @@
"displayName": "QwQ Plus",
"description": "Qwen reasoning model for deliberate problem solving, math, and coding",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04",
@@ -3016,7 +2868,6 @@
"displayName": "siliconflow/deepseek-r1-0528",
"description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 163840,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -3035,7 +2886,6 @@
"displayName": "siliconflow/deepseek-v3-0324",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 163840,
"maxOutputTokens": 163840,
"structuredOutput": true,
@@ -3054,7 +2904,6 @@
"displayName": "siliconflow/deepseek-v3.1-terminus",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 163840,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -3076,7 +2925,6 @@
"displayName": "siliconflow/deepseek-v3.2",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 163840,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -3098,7 +2946,6 @@
"displayName": "Tongyi Intent Detect V3",
"description": "General-purpose chat model for instruction following, writing, and analysis",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/models",
"contextWindow": 8192,
"maxOutputTokens": 1024,
"knowledgeCutoff": "2024-04",
@@ -3119,7 +2966,6 @@
"displayName": "GLM-4.7",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://help.aliyun.com/zh/model-studio/coding-plan",
"contextWindow": 202752,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -3142,7 +2988,6 @@
"displayName": "GLM-5",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://help.aliyun.com/zh/model-studio/coding-plan",
"contextWindow": 202752,
"maxOutputTokens": 16384,
"lastUpdated": "2026-02-11",
@@ -3164,7 +3009,6 @@
"displayName": "Kimi K2.5",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://help.aliyun.com/zh/model-studio/coding-plan",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-01",
@@ -3187,7 +3031,6 @@
"displayName": "MiniMax-M2.5",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://help.aliyun.com/zh/model-studio/coding-plan",
"contextWindow": 196608,
"maxOutputTokens": 24576,
"lastUpdated": "2026-02-12",
@@ -3206,7 +3049,6 @@
"displayName": "Qwen3 Coder Next",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://help.aliyun.com/zh/model-studio/coding-plan",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -3226,7 +3068,6 @@
"displayName": "Qwen3 Coder Plus",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://help.aliyun.com/zh/model-studio/coding-plan",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -3246,7 +3087,6 @@
"displayName": "Qwen3 Max",
"description": "Flagship Qwen model for complex reasoning, coding, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://help.aliyun.com/zh/model-studio/coding-plan",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -3266,7 +3106,6 @@
"displayName": "Qwen3.5 Plus",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://help.aliyun.com/zh/model-studio/coding-plan",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -3289,7 +3128,6 @@
"displayName": "Qwen3.6 Flash",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://help.aliyun.com/zh/model-studio/coding-plan",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -3311,7 +3149,6 @@
"displayName": "Qwen3.6 Plus",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://help.aliyun.com/zh/model-studio/coding-plan",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -3334,7 +3171,6 @@
"displayName": "Qwen3.7 Max",
"description": "Qwen frontier model tuned for agent frameworks, coding assistants, and long tasks",
"lifecycle": "active",
- "docsUrl": "https://help.aliyun.com/zh/model-studio/coding-plan",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"lastUpdated": "2026-05-21",
@@ -3355,7 +3191,6 @@
"displayName": "Qwen3.7 Plus",
"description": "Multimodal Qwen workhorse for long-context agents, visual inputs, and coding",
"lifecycle": "active",
- "docsUrl": "https://help.aliyun.com/zh/model-studio/coding-plan",
"contextWindow": 1000000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-04",
@@ -3380,7 +3215,6 @@
"displayName": "GLM-4.7",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/coding-plan",
"contextWindow": 202752,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -3403,7 +3237,6 @@
"displayName": "GLM-5",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/coding-plan",
"contextWindow": 202752,
"maxOutputTokens": 16384,
"lastUpdated": "2026-02-11",
@@ -3425,7 +3258,6 @@
"displayName": "Kimi K2.5",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/coding-plan",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-01",
@@ -3448,7 +3280,6 @@
"displayName": "MiniMax-M2.5",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/coding-plan",
"contextWindow": 196608,
"inputLimit": 196601,
"maxOutputTokens": 24576,
@@ -3468,7 +3299,6 @@
"displayName": "Qwen3 Coder Next",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/coding-plan",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -3488,7 +3318,6 @@
"displayName": "Qwen3 Coder Plus",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/coding-plan",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -3508,7 +3337,6 @@
"displayName": "Qwen3 Max",
"description": "Flagship Qwen model for complex reasoning, coding, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/coding-plan",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -3528,7 +3356,6 @@
"displayName": "Qwen3.5 Plus",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/coding-plan",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -3551,7 +3378,6 @@
"displayName": "Qwen3.6 Flash",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/coding-plan",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -3573,7 +3399,6 @@
"displayName": "Qwen3.6 Plus",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/coding-plan",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -3596,7 +3421,6 @@
"displayName": "Qwen3.7 Max",
"description": "Qwen frontier model tuned for agent frameworks, coding assistants, and long tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/coding-plan",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"lastUpdated": "2026-05-21",
@@ -3617,7 +3441,6 @@
"displayName": "Qwen3.7 Plus",
"description": "Multimodal Qwen workhorse for long-context agents, visual inputs, and coding",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/coding-plan",
"contextWindow": 1000000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-04",
@@ -3642,7 +3465,6 @@
"displayName": "DeepSeek V3.2",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -3666,7 +3488,6 @@
"displayName": "DeepSeek V4 Flash",
"description": "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -3691,7 +3512,6 @@
"displayName": "DeepSeek V4 Flash 0731",
"description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -3716,7 +3536,6 @@
"displayName": "DeepSeek V4 Pro",
"description": "Open MoE flagship with million-token context for coding and long agent runs",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -3741,7 +3560,6 @@
"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://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"structuredOutput": true,
@@ -3765,7 +3583,6 @@
"displayName": "GLM-5",
"description": "General GLM flagship for coding, analysis, and tool-heavy engineering workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 202752,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -3788,7 +3605,6 @@
"displayName": "GLM-5.1",
"description": "Strong GLM coding model for agentic engineering, terminals, and repository generation",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 202752,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -3811,7 +3627,6 @@
"displayName": "GLM-5.2",
"description": "Open flagship GLM for long-horizon coding agents and million-token context work",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -3834,7 +3649,6 @@
"displayName": "HappyHorse 1.1 Image-to-Video",
"description": "Video model for image-to-video generation",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 0,
"maxOutputTokens": 0,
"lastUpdated": "2026-07-17",
@@ -3853,7 +3667,6 @@
"displayName": "HappyHorse 1.1 Reference-to-Video",
"description": "Video model for reference-guided video generation",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 0,
"maxOutputTokens": 0,
"lastUpdated": "2026-07-17",
@@ -3872,7 +3685,6 @@
"displayName": "HappyHorse 1.1 Text-to-Video",
"description": "Video model for prompt-driven text-to-video generation",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 0,
"maxOutputTokens": 0,
"lastUpdated": "2026-07-17",
@@ -3891,7 +3703,6 @@
"displayName": "Kimi K2.5",
"description": "Earlier Kimi frontier model for long-context agents, coding, and multimodal work",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 262144,
"maxOutputTokens": 98304,
"knowledgeCutoff": "2025-01",
@@ -3915,7 +3726,6 @@
"displayName": "Kimi K2.6",
"description": "Multimodal Kimi workhorse for agent loops, coding tasks, and visual context",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -3939,7 +3749,6 @@
"displayName": "Kimi K2.7 Code",
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -3963,7 +3772,6 @@
"displayName": "MiniMax-M2.5",
"description": "Prior MiniMax coding model for agent workflows, office edits, and automation",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 196608,
"inputLimit": 196601,
"maxOutputTokens": 32768,
@@ -3983,7 +3791,6 @@
"displayName": "Qwen Image 2.0",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 8192,
"maxOutputTokens": 0,
"lastUpdated": "2026-03-03",
@@ -4002,7 +3809,6 @@
"displayName": "Qwen Image 2.0 Pro",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 8192,
"maxOutputTokens": 0,
"lastUpdated": "2026-03-03",
@@ -4021,7 +3827,6 @@
"displayName": "Qwen3.6 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": 65536,
"structuredOutput": true,
@@ -4044,7 +3849,6 @@
"displayName": "Qwen3.6 Plus",
"description": "Earlier Qwen multimodal workhorse for million-token agent and document tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -4068,7 +3872,6 @@
"displayName": "Qwen3.7 Max",
"description": "Qwen frontier model tuned for agent frameworks, coding assistants, and long tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -4091,7 +3894,6 @@
"displayName": "Qwen3.7 Plus",
"description": "Multimodal Qwen workhorse for long-context agents, visual inputs, and coding",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -4115,7 +3917,6 @@
"displayName": "Qwen3.8 Max",
"description": "2.4-trillion-parameter MoE flagship for coding, professional work, multimodal understanding, and long-horizon agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -4139,7 +3940,6 @@
"displayName": "Qwen3.8 Max Preview",
"description": "Preview Qwen flagship for million-token multimodal reasoning and long-horizon agentic workflows",
"lifecycle": "beta",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -4162,7 +3962,6 @@
"displayName": "Wan2.7 Image",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 8192,
"maxOutputTokens": 0,
"lastUpdated": "2026-05-29",
@@ -4181,7 +3980,6 @@
"displayName": "Wan2.7 Image Pro",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview",
"contextWindow": 8192,
"maxOutputTokens": 0,
"lastUpdated": "2026-05-29",
@@ -4202,7 +4000,6 @@
"displayName": "DeepSeek V3.2",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -4226,7 +4023,6 @@
"displayName": "DeepSeek V4 Flash",
"description": "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -4251,7 +4047,6 @@
"displayName": "DeepSeek V4 Flash 0731",
"description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -4276,7 +4071,6 @@
"displayName": "DeepSeek V4 Pro",
"description": "Open MoE flagship with million-token context for coding and long agent runs",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -4301,7 +4095,6 @@
"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://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"structuredOutput": true,
@@ -4325,7 +4118,6 @@
"displayName": "GLM-5",
"description": "General GLM flagship for coding, analysis, and tool-heavy engineering workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 202752,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -4348,7 +4140,6 @@
"displayName": "GLM-5.1",
"description": "Strong GLM coding model for agentic engineering, terminals, and repository generation",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 202752,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -4371,7 +4162,6 @@
"displayName": "GLM-5.2",
"description": "Open flagship GLM for long-horizon coding agents and million-token context work",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -4394,7 +4184,6 @@
"displayName": "HappyHorse 1.1 Image-to-Video",
"description": "Video model for image-to-video generation",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 0,
"maxOutputTokens": 0,
"lastUpdated": "2026-07-17",
@@ -4413,7 +4202,6 @@
"displayName": "HappyHorse 1.1 Reference-to-Video",
"description": "Video model for reference-guided video generation",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 0,
"maxOutputTokens": 0,
"lastUpdated": "2026-07-17",
@@ -4432,7 +4220,6 @@
"displayName": "HappyHorse 1.1 Text-to-Video",
"description": "Video model for prompt-driven text-to-video generation",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 0,
"maxOutputTokens": 0,
"lastUpdated": "2026-07-17",
@@ -4451,7 +4238,6 @@
"displayName": "Kimi K2.5",
"description": "Earlier Kimi frontier model for long-context agents, coding, and multimodal work",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 262144,
"maxOutputTokens": 98304,
"knowledgeCutoff": "2025-01",
@@ -4475,7 +4261,6 @@
"displayName": "Kimi K2.6",
"description": "Multimodal Kimi workhorse for agent loops, coding tasks, and visual context",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -4499,7 +4284,6 @@
"displayName": "Kimi K2.7 Code",
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -4523,7 +4307,6 @@
"displayName": "MiniMax-M2.5",
"description": "Prior MiniMax coding model for agent workflows, office edits, and automation",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 196608,
"inputLimit": 196601,
"maxOutputTokens": 32768,
@@ -4543,7 +4326,6 @@
"displayName": "Qwen Image 2.0",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 8192,
"maxOutputTokens": 0,
"lastUpdated": "2026-03-03",
@@ -4562,7 +4344,6 @@
"displayName": "Qwen Image 2.0 Pro",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 8192,
"maxOutputTokens": 0,
"lastUpdated": "2026-03-03",
@@ -4581,7 +4362,6 @@
"displayName": "Qwen3.6 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": 65536,
"structuredOutput": true,
@@ -4604,7 +4384,6 @@
"displayName": "Qwen3.6 Plus",
"description": "Earlier Qwen multimodal workhorse for million-token agent and document tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -4628,7 +4407,6 @@
"displayName": "Qwen3.7 Max",
"description": "Qwen frontier model tuned for agent frameworks, coding assistants, and long tasks",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -4651,7 +4429,6 @@
"displayName": "Qwen3.7 Plus",
"description": "Multimodal Qwen workhorse for long-context agents, visual inputs, and coding",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -4675,7 +4452,6 @@
"displayName": "Qwen3.8 Max",
"description": "2.4-trillion-parameter MoE flagship for coding, professional work, multimodal understanding, and long-horizon agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -4699,7 +4475,6 @@
"displayName": "Qwen3.8 Max Preview",
"description": "Preview Qwen flagship for million-token multimodal reasoning and long-horizon agentic workflows",
"lifecycle": "beta",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -4722,7 +4497,6 @@
"displayName": "Wan2.7 Image",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 8192,
"maxOutputTokens": 0,
"lastUpdated": "2026-05-29",
@@ -4741,7 +4515,6 @@
"displayName": "Wan2.7 Image Pro",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview",
"contextWindow": 8192,
"maxOutputTokens": 0,
"lastUpdated": "2026-05-29",
@@ -4762,7 +4535,6 @@
"displayName": "Gemma 4 31B IT",
"description": "Largest Gemma 4 instruction model for open, self-hosted chat and reasoning",
"lifecycle": "beta",
- "docsUrl": "https://inference-docs.cerebras.ai/models/overview",
"contextWindow": 131072,
"maxOutputTokens": 40960,
"structuredOutput": true,
@@ -4784,7 +4556,6 @@
"displayName": "GPT OSS 120B",
"description": "Open GPT reasoning model for self-hosted agents and controllable deployments",
"lifecycle": "active",
- "docsUrl": "https://inference-docs.cerebras.ai/models/overview",
"contextWindow": 131072,
"maxOutputTokens": 40960,
"structuredOutput": true,
@@ -4808,7 +4579,6 @@
"displayName": "Aya Expanse 32B",
"description": "Open multilingual model optimized for generation across 23 languages",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 4000,
"lastUpdated": "2024-10-24",
@@ -4826,7 +4596,6 @@
"displayName": "Aya Expanse 8B",
"description": "Compact open multilingual model optimized for generation across 23 languages",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 8000,
"maxOutputTokens": 4000,
"lastUpdated": "2024-10-24",
@@ -4844,7 +4613,6 @@
"displayName": "Aya Vision 32B",
"description": "Open multilingual vision model for OCR, visual reasoning, and image question answering",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 16000,
"maxOutputTokens": 4000,
"lastUpdated": "2025-05-14",
@@ -4862,7 +4630,6 @@
"displayName": "Aya Vision 8B",
"description": "Compact open multilingual vision model for OCR and visual question answering",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 16000,
"maxOutputTokens": 4000,
"lastUpdated": "2025-05-14",
@@ -4880,7 +4647,6 @@
"displayName": "Command A",
"description": "Cohere command model for multilingual enterprise agents, tools, and chat",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 256000,
"maxOutputTokens": 8000,
"knowledgeCutoff": "2024-06-01",
@@ -4899,7 +4665,6 @@
"displayName": "Command A Plus",
"description": "Cohere's stronger command model for multilingual agents and enterprise workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-04-01",
@@ -4922,7 +4687,6 @@
"displayName": "Command A Reasoning",
"description": "Cohere reasoning model for multilingual enterprise agents, tools, and complex workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 256000,
"maxOutputTokens": 32000,
"knowledgeCutoff": "2024-06-01",
@@ -4944,7 +4708,6 @@
"displayName": "Command A Translate",
"description": "Translation model for multilingual conversion, localization, and cross-language workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 8000,
"maxOutputTokens": 8000,
"knowledgeCutoff": "2024-06-01",
@@ -4963,7 +4726,6 @@
"displayName": "Command A Vision",
"description": "Cohere vision model for multilingual document analysis, OCR, and image understanding",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 8000,
"knowledgeCutoff": "2024-06-01",
@@ -4982,7 +4744,6 @@
"displayName": "Command R",
"description": "Cohere retrieval model for long-context chat and enterprise RAG workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 4000,
"knowledgeCutoff": "2024-06-01",
@@ -5001,7 +4762,6 @@
"displayName": "Command R+",
"description": "Cohere's RAG workhorse for long-context enterprise search and tool use",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 4000,
"knowledgeCutoff": "2024-06-01",
@@ -5020,7 +4780,6 @@
"displayName": "Command R7B",
"description": "Cohere retrieval model for long-context chat and enterprise RAG workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 4000,
"knowledgeCutoff": "2024-06-01",
@@ -5039,7 +4798,6 @@
"displayName": "Command R7B Arabic",
"description": "Open Command R model optimized for Arabic enterprise chat, RAG, and cultural knowledge",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 4000,
"knowledgeCutoff": "2024-06-01",
@@ -5058,7 +4816,6 @@
"displayName": "North Mini Code",
"description": "Cohere coding model for practical software engineering and agentic edits",
"lifecycle": "active",
- "docsUrl": "https://docs.cohere.com/docs/models",
"contextWindow": 256000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-09-23",
@@ -5084,7 +4841,6 @@
"displayName": "Gemma Sea Lion V4 27B It",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"structuredOutput": false,
@@ -5103,7 +4859,6 @@
"displayName": "Deepseek R1 Distill Qwen 32B",
"description": "Classic open reasoning model for transparent math, coding, and deliberate problem solving",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 80000,
"maxOutputTokens": 80000,
"knowledgeCutoff": "2024-07",
@@ -5123,7 +4878,6 @@
"displayName": "DeepSeek V4 Flash 0731",
"description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 1310720,
"maxOutputTokens": 1048576,
"knowledgeCutoff": "2025-05",
@@ -5147,7 +4901,6 @@
"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://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 1048576,
"maxOutputTokens": 1048576,
"structuredOutput": true,
@@ -5170,7 +4923,6 @@
"displayName": "Gemma 4 26B A4B IT",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 256000,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -5193,7 +4945,6 @@
"displayName": "Granite 4.0 H Micro",
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 131000,
"maxOutputTokens": 131000,
"structuredOutput": false,
@@ -5212,7 +4963,6 @@
"displayName": "Llama 3.1 8B Instruct fp8",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 32000,
"maxOutputTokens": 32000,
"knowledgeCutoff": "2023-12",
@@ -5232,7 +4982,6 @@
"displayName": "Llama 3.2 11B Vision Instruct",
"description": "Open Llama multimodal model for image understanding and text reasoning",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2023-12",
@@ -5252,7 +5001,6 @@
"displayName": "Llama 3.2 1B Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 60000,
"maxOutputTokens": 60000,
"knowledgeCutoff": "2023-12",
@@ -5272,7 +5020,6 @@
"displayName": "Llama 3.2 3B Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 80000,
"maxOutputTokens": 80000,
"knowledgeCutoff": "2023-12",
@@ -5292,7 +5039,6 @@
"displayName": "Llama 3.3 70B Instruct fp8 Fast",
"description": "Popular open Llama workhorse for multilingual chat, coding, and self-hosting",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 24000,
"maxOutputTokens": 24000,
"knowledgeCutoff": "2023-12",
@@ -5312,7 +5058,6 @@
"displayName": "Llama 4 Scout 17B 16E Instruct",
"description": "Open Llama with long-context vision for efficient multimodal agents",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 131000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-08",
@@ -5332,7 +5077,6 @@
"displayName": "Llama Guard 3 8B",
"description": "Safety model for policy screening, moderation, and risk-aware routing workflows",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2023-12",
@@ -5352,7 +5096,6 @@
"displayName": "Mistral Small 3.1 24B Instruct",
"description": "Efficient Mistral model for fast chat, extraction, and production assistants",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"structuredOutput": false,
@@ -5371,7 +5114,6 @@
"displayName": "Kimi K2.6",
"description": "Multimodal Kimi workhorse for agent loops, coding tasks, and visual context",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 262144,
"maxOutputTokens": 256000,
"knowledgeCutoff": "2025-01",
@@ -5395,7 +5137,6 @@
"displayName": "Kimi K2.7 Code",
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -5419,7 +5160,6 @@
"displayName": "Nemotron 3 Super 120B",
"description": "Nemotron middle tier for collaborative agents and high-volume reasoning workloads",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 256000,
"maxOutputTokens": 256000,
"structuredOutput": true,
@@ -5442,7 +5182,6 @@
"displayName": "GPT OSS 120B",
"description": "Open GPT reasoning model for self-hosted agents and controllable deployments",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -5464,7 +5203,6 @@
"displayName": "GPT OSS 20B",
"description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -5483,7 +5221,6 @@
"displayName": "Qwen2.5 Coder 32B Instruct",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 32768,
"maxOutputTokens": 32768,
"structuredOutput": false,
@@ -5502,7 +5239,6 @@
"displayName": "Qwen3 30B A3b fp8",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 32768,
"maxOutputTokens": 32768,
"structuredOutput": false,
@@ -5521,7 +5257,6 @@
"displayName": "Qwen3.8 27B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -5544,7 +5279,6 @@
"displayName": "Qwq 32B",
"description": "Qwen reasoning model for deliberate problem solving, math, and coding",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 24000,
"maxOutputTokens": 24000,
"knowledgeCutoff": "2024-04",
@@ -5564,7 +5298,6 @@
"displayName": "GLM-4.7-Flash",
"description": "Efficient GLM model for fast reasoning, coding, and agent workflows",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -5588,7 +5321,6 @@
"displayName": "Glm 5.2",
"description": "Open flagship GLM for long-horizon coding agents and million-token context work",
"lifecycle": "active",
- "docsUrl": "https://developers.cloudflare.com/workers-ai/models/",
"contextWindow": 262144,
"maxOutputTokens": 256000,
"structuredOutput": true,
@@ -5613,7 +5345,6 @@
"displayName": "Seed 2.0 Code",
"description": "ByteDance Seed coding model for multimodal software engineering and long-running agents",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 256000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -5635,7 +5366,6 @@
"displayName": "Seed 2.0 Mini",
"description": "Lightweight ByteDance Seed 2.0 model for low-latency multimodal reasoning and high-volume tasks",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 256000,
"maxOutputTokens": 32000,
"structuredOutput": true,
@@ -5654,7 +5384,6 @@
"displayName": "Seed 2.0 Pro",
"description": "Flagship ByteDance Seed 2.0 model for complex multimodal reasoning and long-horizon agent workflows",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 256000,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -5673,7 +5402,6 @@
"displayName": "DeepSeek-R1-0528",
"description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 163840,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2024-07",
@@ -5693,7 +5421,6 @@
"displayName": "DeepSeek-V3",
"description": "Open DeepSeek MoE chat model for coding, math, and general reasoning",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 163840,
"maxOutputTokens": 8192,
"structuredOutput": true,
@@ -5712,7 +5439,6 @@
"displayName": "DeepSeek V3 0324",
"description": "March 2025 checkpoint of DeepSeek-V3 with improved reasoning and coding",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 163840,
"maxOutputTokens": 163840,
"structuredOutput": true,
@@ -5731,7 +5457,6 @@
"displayName": "DeepSeek-V3.1",
"description": "Hybrid-reasoning DeepSeek model with thinking and non-thinking modes",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 163840,
"maxOutputTokens": 8192,
"structuredOutput": true,
@@ -5753,7 +5478,6 @@
"displayName": "DeepSeek-V3.2",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 163840,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2024-12",
@@ -5776,7 +5500,6 @@
"displayName": "DeepSeek V4 Flash",
"description": "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 1048576,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-05",
@@ -5800,7 +5523,6 @@
"displayName": "DeepSeek V4 Flash 0731",
"description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 1048576,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -5823,7 +5545,6 @@
"displayName": "DeepSeek V4 Pro",
"description": "Open MoE flagship with million-token context for coding and long agent runs",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 1048576,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-05",
@@ -5847,7 +5568,6 @@
"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://deepinfra.com/models",
"contextWindow": 1048576,
"maxOutputTokens": 384000,
"structuredOutput": true,
@@ -5870,7 +5590,6 @@
"displayName": "Gemma 4 26B A4B IT",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -5892,7 +5611,6 @@
"displayName": "Gemma 4 31B IT",
"description": "Largest Gemma 4 instruction model for open, self-hosted chat and reasoning",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -5914,7 +5632,6 @@
"displayName": "Gemma 4 E4B IT",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"structuredOutput": true,
@@ -5936,7 +5653,6 @@
"displayName": "Llama 3.3 70B Turbo",
"description": "Compact Llama instruction model for fast chat and local deployment",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -5955,7 +5671,6 @@
"displayName": "Llama 4 Maverick 17B FP8",
"description": "Open multimodal Llama model for strong reasoning and fast responses",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 1048576,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -5974,7 +5689,6 @@
"displayName": "Llama 4 Scout 17B",
"description": "Open multimodal Llama model for long-context analysis and efficient agents",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 327680,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -5993,7 +5707,6 @@
"displayName": "MiniMax M2.5",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "deprecated",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 196608,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-06",
@@ -6012,7 +5725,6 @@
"displayName": "MiniMax-M2.7",
"description": "Open MiniMax flagship for coding agents, office automation, and complex environments",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 196608,
"maxOutputTokens": 131072,
"lastUpdated": "2026-03-18",
@@ -6030,7 +5742,6 @@
"displayName": "MiniMax-M3",
"description": "MiniMax multimodal model for long-context coding, perception, and agent planning",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 524288,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -6049,7 +5760,6 @@
"displayName": "Kimi K2.5",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-01",
@@ -6072,7 +5782,6 @@
"displayName": "Kimi K2.6",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-04",
@@ -6095,7 +5804,6 @@
"displayName": "Kimi K2.7 Code",
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -6118,7 +5826,6 @@
"displayName": "Kimi K3",
"description": "Multimodal Kimi model with 1M context and toggleable max-effort thinking for long-horizon agent work",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -6140,7 +5847,6 @@
"displayName": "Llama 3.3 Nemotron Super 49B v1.5",
"description": "Nemotron model for efficient reasoning, coding, and specialized AI agents",
"lifecycle": "deprecated",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -6159,7 +5865,6 @@
"displayName": "Nemotron 3 Nano 30B A3B",
"description": "Small Nemotron 3 MoE for efficient coding, math, and long-context agents",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"lastUpdated": "2025-12-15",
@@ -6180,7 +5885,6 @@
"displayName": "Nemotron 3 Nano Omni 30B A3B Reasoning",
"description": "Open Nemotron omni model combining reasoning with text, vision, and audio",
"lifecycle": "deprecated",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -6199,7 +5903,6 @@
"displayName": "GPT OSS 120B",
"description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -6221,7 +5924,6 @@
"displayName": "GPT OSS 20B",
"description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -6243,7 +5945,6 @@
"displayName": "Qwen3 235B-A22B Instruct 2507",
"description": "Updated large open Qwen3 MoE instruct model for multilingual chat, coding, and tool use",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -6262,7 +5963,6 @@
"displayName": "Qwen3 30B A3B",
"description": "Sparse MoE Qwen model with 3B active parameters for efficient chat and reasoning",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 40960,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -6281,7 +5981,6 @@
"displayName": "Qwen3 32B",
"description": "Dense open Qwen model for self-hosted chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 40960,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -6301,7 +6000,6 @@
"displayName": "Qwen3 Coder 480B A35B Instruct Turbo",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 66536,
"knowledgeCutoff": "2025-04",
@@ -6321,7 +6019,6 @@
"displayName": "Qwen3 Max",
"description": "Flagship Qwen3 model for coding agents, complex reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 256000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -6341,7 +6038,6 @@
"displayName": "Qwen3-Next 80B-A3B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -6361,7 +6057,6 @@
"displayName": "Qwen3 VL 235B A22B Instruct",
"description": "Qwen vision-language instruct model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-03-31",
@@ -6381,7 +6076,6 @@
"displayName": "Qwen3.5 122B-A10B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -6400,7 +6094,6 @@
"displayName": "Qwen3.5 27B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -6419,7 +6112,6 @@
"displayName": "Qwen 3.5 35B A3B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 81920,
"knowledgeCutoff": "2025-01",
@@ -6439,7 +6131,6 @@
"displayName": "Qwen 3.5 397B A17B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 81920,
"knowledgeCutoff": "2025-01",
@@ -6459,7 +6150,6 @@
"displayName": "Qwen3.5 9B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -6478,7 +6168,6 @@
"displayName": "Qwen3.6 27B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -6497,7 +6186,6 @@
"displayName": "Qwen3.6 35B A3B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 81920,
"structuredOutput": true,
@@ -6516,7 +6204,6 @@
"displayName": "Qwen3.7 Max",
"description": "Qwen frontier model tuned for agent frameworks, coding assistants, and long tasks",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 256000,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -6535,7 +6222,6 @@
"displayName": "Qwen3.8 2.4T A95B",
"description": "Open-weight sparse MoE (2.4T total, 95B active), the open-weight twin of Qwen3.8 Max for coding, research, complex reasoning, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -6557,7 +6243,6 @@
"displayName": "Qwen3.8 27B",
"description": "Dense 27B vision-language model for coding, agent tasks, and image and video understanding",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -6580,7 +6265,6 @@
"displayName": "Qwen3.8 Max",
"description": "2.4-trillion-parameter MoE flagship for coding, professional work, multimodal understanding, and long-horizon agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 256000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -6599,7 +6283,6 @@
"displayName": "Step 3.7 Flash",
"description": "Newer StepFun flash model for faster agents, coding, and multimodal prompts",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 256000,
"knowledgeCutoff": "2026-03-01",
@@ -6618,7 +6301,6 @@
"displayName": "Hy3",
"description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 64000,
"structuredOutput": true,
@@ -6637,7 +6319,6 @@
"displayName": "Inkling",
"description": "Multimodal MoE reasoning model (975B total, 41B active) for text, image, and audio",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 524288,
"maxOutputTokens": 1048576,
"lastUpdated": "2026-07-15",
@@ -6655,7 +6336,6 @@
"displayName": "Inkling Small",
"description": "Multimodal MoE reasoning model (276B total, 12B active) for text, image, and audio",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 524288,
"maxOutputTokens": 1048576,
"structuredOutput": true,
@@ -6674,7 +6354,6 @@
"displayName": "MiMo-V2.5",
"description": "Open MiMo model for multimodal coding agents and long-context automation",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 262144,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-12",
@@ -6697,7 +6376,6 @@
"displayName": "MiMo-V2.5-Pro",
"description": "Stronger MiMo Pro tier for multimodal reasoning and coding-agent execution",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 1048576,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-12",
@@ -6720,7 +6398,6 @@
"displayName": "GLM-4.6",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 202752,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -6743,7 +6420,6 @@
"displayName": "GLM-4.7",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 202752,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -6766,7 +6442,6 @@
"displayName": "GLM-4.7-Flash",
"description": "Efficient GLM model for fast reasoning, coding, and agent workflows",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 202752,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -6786,7 +6461,6 @@
"displayName": "GLM-5",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 202752,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-12",
@@ -6809,7 +6483,6 @@
"displayName": "GLM-5.1",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 202752,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -6832,7 +6505,6 @@
"displayName": "GLM-5.2",
"description": "Open flagship GLM for long-horizon coding agents and million-token context work",
"lifecycle": "active",
- "docsUrl": "https://deepinfra.com/models",
"contextWindow": 1048576,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -6857,7 +6529,6 @@
"displayName": "DeepSeek Chat",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://api-docs.deepseek.com/quick_start/pricing",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-09",
@@ -6876,7 +6547,6 @@
"displayName": "DeepSeek Reasoner",
"description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
"lifecycle": "active",
- "docsUrl": "https://api-docs.deepseek.com/quick_start/pricing",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-09",
@@ -6895,7 +6565,6 @@
"displayName": "DeepSeek V4 Flash",
"description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
"lifecycle": "active",
- "docsUrl": "https://api-docs.deepseek.com/quick_start/pricing",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -6919,7 +6588,6 @@
"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://api-docs.deepseek.com/quick_start/pricing",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"structuredOutput": true,
@@ -6944,7 +6612,6 @@
"displayName": "DeepSeek V4 Flash",
"description": "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -6968,7 +6635,6 @@
"displayName": "DeepSeek V4 Flash 0731",
"description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -6992,7 +6658,6 @@
"displayName": "DeepSeek V4 Pro",
"description": "Open MoE flagship with million-token context for coding and long agent runs",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -7016,7 +6681,6 @@
"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,
"structuredOutput": true,
@@ -7039,7 +6703,6 @@
"displayName": "GLM 5.2",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 1048575,
"maxOutputTokens": 131072,
"lastUpdated": "2026-06-16",
@@ -7061,7 +6724,6 @@
"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": "2026-06-16",
@@ -7082,7 +6744,6 @@
"displayName": "GPT OSS 20B",
"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",
@@ -7103,7 +6764,6 @@
"displayName": "Inkling",
"description": "Multimodal MoE reasoning model (975B total, 41B active) for text, image, and audio",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 1048576,
"maxOutputTokens": 1048576,
"lastUpdated": "2026-07-15",
@@ -7121,7 +6781,6 @@
"displayName": "Kimi K2.6",
"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",
@@ -7142,7 +6801,6 @@
"displayName": "Kimi K2.7 Code",
"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",
@@ -7163,7 +6821,6 @@
"displayName": "Kimi K3",
"description": "Multimodal Kimi model with 1M context and toggleable max-effort thinking for long-horizon agent work",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -7186,7 +6843,6 @@
"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",
@@ -7207,7 +6863,6 @@
"displayName": "MiniMax-M3",
"description": "MiniMax multimodal coding model for long-context reasoning and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 512000,
"maxOutputTokens": 512000,
"lastUpdated": "2026-06-12",
@@ -7228,7 +6883,6 @@
"displayName": "Muse Glimmer 30B",
"description": "Muse Glimmer is a 30-billion-parameter open-weight multimodal model from Meta Superintelligence Labs, distilled from Muse Spark for always-on local agents, tool use, coding, and image understanding.",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2026-01-04",
@@ -7251,7 +6905,6 @@
"displayName": "Nemotron 3 Ultra 550B A55B",
"description": "Largest Nemotron 3 model for maximum open-weight reasoning and agent accuracy",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 262144,
"maxOutputTokens": 128000,
"lastUpdated": "2026-06-04",
@@ -7272,7 +6925,6 @@
"displayName": "Nemotron 3.5 Lightning 30B A3B",
"description": "Fast NVIDIA Nemotron MoE for reliable agentic tasks across enterprise workloads",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -7294,7 +6946,6 @@
"displayName": "Qwen 3.7 Plus",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"lastUpdated": "2026-06-12",
@@ -7316,7 +6967,6 @@
"displayName": "Qwen3.8 Max",
"description": "2.4-trillion-parameter MoE flagship for coding, professional work, multimodal understanding, and long-horizon agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"lastUpdated": "2026-08-03",
@@ -7337,7 +6987,6 @@
"displayName": "GLM 5.2 Fast",
"description": "Efficient GLM model for fast reasoning, coding, and agent workflows",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 1048575,
"maxOutputTokens": 131072,
"lastUpdated": "2026-06-26",
@@ -7359,7 +7008,6 @@
"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",
@@ -7380,7 +7028,6 @@
"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",
@@ -7401,7 +7048,6 @@
"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",
@@ -7422,7 +7068,6 @@
"displayName": "Kimi K3 Fast",
"description": "Multimodal Kimi model with 1M context and toggleable max-effort thinking for long-horizon agent work",
"lifecycle": "active",
- "docsUrl": "https://fireworks.ai/docs/",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -7447,7 +7092,6 @@
"displayName": "Claude Fable 5",
"description": "Claude model for creative writing, analysis, and controlled agent workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01-31",
@@ -7469,7 +7113,6 @@
"displayName": "Claude Haiku 4.5 (latest)",
"description": "Fast Claude lane for lightweight agents, office tasks, and responsive chat",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 200000,
"inputLimit": 136000,
"maxOutputTokens": 64000,
@@ -7489,7 +7132,6 @@
"displayName": "Claude Opus 4.5 (latest)",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 200000,
"inputLimit": 168000,
"maxOutputTokens": 32000,
@@ -7509,7 +7151,6 @@
"displayName": "Claude Opus 4.6",
"description": "High-end Claude for difficult coding, planning, and slower expert reasoning",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 200000,
"inputLimit": 168000,
"maxOutputTokens": 32000,
@@ -7532,7 +7173,6 @@
"displayName": "Claude Opus 4.7",
"description": "Stronger Opus tier for advanced software work and high-stakes reasoning",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 200000,
"inputLimit": 168000,
"maxOutputTokens": 32000,
@@ -7555,7 +7195,6 @@
"displayName": "Claude Opus 4.8",
"description": "Top Claude Opus tier for the hardest reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 200000,
"inputLimit": 168000,
"maxOutputTokens": 64000,
@@ -7578,7 +7217,6 @@
"displayName": "Claude Opus 5",
"description": "Strongest Claude Opus model for coding, agents, and professional work",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 1000000,
"inputLimit": 936000,
"maxOutputTokens": 64000,
@@ -7602,7 +7240,6 @@
"displayName": "Claude Sonnet 4 (latest)",
"description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 216000,
"inputLimit": 128000,
"maxOutputTokens": 16000,
@@ -7622,7 +7259,6 @@
"displayName": "Claude Sonnet 4.5 (latest)",
"description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 200000,
"inputLimit": 168000,
"maxOutputTokens": 32000,
@@ -7642,7 +7278,6 @@
"displayName": "Claude Sonnet 4.6",
"description": "Claude workhorse for coding agents, careful analysis, and production cost control",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 200000,
"inputLimit": 168000,
"maxOutputTokens": 32000,
@@ -7665,7 +7300,6 @@
"displayName": "Claude Sonnet 5",
"description": "Everyday Claude agent model for coding, planning, browsing, and general work",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01-31",
@@ -7687,7 +7321,6 @@
"displayName": "Gemini 3.1 Pro Preview",
"description": "Reasoning-first Gemini preview for agentic coding and complex problem solving",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 1000000,
"inputLimit": 936000,
"maxOutputTokens": 64000,
@@ -7711,7 +7344,6 @@
"displayName": "Gemini 3.5 Flash",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 200000,
"inputLimit": 128000,
"maxOutputTokens": 64000,
@@ -7735,7 +7367,6 @@
"displayName": "Gemini 3.6 Flash",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 1000000,
"inputLimit": 936000,
"maxOutputTokens": 64000,
@@ -7759,7 +7390,6 @@
"displayName": "Gemini 3.7 Flash",
"description": "High-efficiency Gemini model for agentic workflows, coding, and multimodal reasoning",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 1000000,
"inputLimit": 936000,
"maxOutputTokens": 64000,
@@ -7783,7 +7413,6 @@
"displayName": "GPT-4.1",
"description": "Long-lived GPT workhorse for coding, instruction following, and production apps",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 128000,
"inputLimit": 128000,
"maxOutputTokens": 16384,
@@ -7804,7 +7433,6 @@
"displayName": "GPT-5 Mini",
"description": "Small GPT-5 for responsive agents, coding help, and everyday automation",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 264000,
"inputLimit": 128000,
"maxOutputTokens": 64000,
@@ -7828,7 +7456,6 @@
"displayName": "GPT-5.2",
"description": "Reliable GPT generation for broad coding, writing, and tool-assisted product work",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -7849,7 +7476,6 @@
"displayName": "GPT-5.2 Codex",
"description": "Code-specialist GPT for repository edits, reviews, and long-running software agents",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -7870,7 +7496,6 @@
"displayName": "GPT-5.3 Codex",
"description": "Coding-optimized GPT model for repository edits, reviews, and agentic software work",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -7894,7 +7519,6 @@
"displayName": "GPT-5.4",
"description": "Agent-ready GPT for coding and computer-use workflows at a lower cost",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -7918,7 +7542,6 @@
"displayName": "GPT-5.4 mini",
"description": "Strong small GPT for coding subagents, quick tool use, and high-volume work",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -7942,7 +7565,6 @@
"displayName": "GPT-5.4 nano",
"description": "Cheapest GPT-5.4 lane for simple routing, extraction, and bulk automation",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -7963,7 +7585,6 @@
"displayName": "GPT-5.5",
"description": "Default frontier GPT for coding, computer use, research, and knowledge work",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -7987,7 +7608,6 @@
"displayName": "GPT-5.6 Luna",
"description": "Cost-efficient GPT-5.6 model for fast, high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -8011,7 +7631,6 @@
"displayName": "GPT-5.6 Sol",
"description": "Frontier GPT-5.6 model for complex professional work, coding, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -8035,7 +7654,6 @@
"displayName": "GPT-5.6 Terra",
"description": "Balanced GPT-5.6 model for capable, cost-efficient everyday work",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -8059,7 +7677,6 @@
"displayName": "Grok 4.5",
"description": "xAI's Grok model for chat, coding, agentic tools, and lower hallucination risk",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 500000,
"inputLimit": 372000,
"maxOutputTokens": 128000,
@@ -8082,7 +7699,6 @@
"displayName": "Grok 4.6",
"description": "xAI's frontier model for long-running agents, coding, knowledge work, and visual projects",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 500000,
"inputLimit": 372000,
"maxOutputTokens": 128000,
@@ -8106,7 +7722,6 @@
"displayName": "Kimi K2.7 Code",
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 256000,
"inputLimit": 224000,
"maxOutputTokens": 32000,
@@ -8127,7 +7742,6 @@
"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.github.com/en/copilot",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -8149,7 +7763,6 @@
"displayName": "MAI-Code-1-Flash",
"description": "Microsoft coding model built for fast, efficient assistance in everyday developer workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 256000,
"inputLimit": 128000,
"maxOutputTokens": 128000,
@@ -8173,7 +7786,6 @@
"displayName": "MAI-Code-1.1-Flash",
"description": "Microsoft coding model with native vision support, optimized for fast and efficient software development",
"lifecycle": "active",
- "docsUrl": "https://docs.github.com/en/copilot",
"contextWindow": 256000,
"inputLimit": 128000,
"maxOutputTokens": 128000,
@@ -8198,7 +7810,6 @@
"displayName": "Deep Research Max Preview (Apr-21-2026)",
"description": "Maximum-comprehensiveness agentic researcher for multi-step investigation, synthesis, and cited reports",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8217,7 +7828,6 @@
"displayName": "Deep Research Preview (Apr-21-2026)",
"description": "Agentic model for autonomous multi-step research, synthesis, and cited reports",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8236,7 +7846,6 @@
"displayName": "Gemini 2.5 Computer Use Preview 10-2025",
"description": "Specialized Gemini 2.5 model for browser-control agents that automate UI tasks",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8255,7 +7864,6 @@
"displayName": "Gemini 2.5 Flash",
"description": "Fast Gemini workhorse for multimodal apps where latency and price matter",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8278,7 +7886,6 @@
"displayName": "Nano Banana",
"description": "Nano Banana image model for fast generation, edits, and character-consistent assets",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 32768,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-06",
@@ -8297,7 +7904,6 @@
"displayName": "Gemini 2.5 Flash-Lite",
"description": "Lean Gemini 2.5 lane for cheap multimodal traffic and quick agents",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8320,7 +7926,6 @@
"displayName": "Gemini 2.5 Flash Preview TTS",
"description": "Speech generation model for controllable voice, narration, and audio delivery",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 8192,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-01",
@@ -8339,7 +7944,6 @@
"displayName": "Gemini 2.5 Pro",
"description": "Google's proven reasoning model for coding, math, and multimodal analysis",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8359,7 +7963,6 @@
"displayName": "Gemini 2.5 Pro Preview TTS",
"description": "Speech generation model for controllable voice, narration, and audio delivery",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 8192,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-01",
@@ -8378,7 +7981,6 @@
"displayName": "Gemini 3 Flash Preview",
"description": "New Gemini flash lane bringing frontier-style multimodal reasoning to cheaper runs",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8401,7 +8003,6 @@
"displayName": "Nano Banana Pro",
"description": "Nano Banana Pro for higher-fidelity image generation and design-heavy edits",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-01",
@@ -8423,7 +8024,6 @@
"displayName": "Nano Banana Pro",
"description": "Nano Banana Pro for higher-fidelity image generation and design-heavy edits",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-01",
@@ -8442,7 +8042,6 @@
"displayName": "Nano Banana 2",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 65536,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8464,7 +8063,6 @@
"displayName": "Nano Banana 2",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 65536,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8486,7 +8084,6 @@
"displayName": "Gemini 3.1 Flash Lite",
"description": "Low-latency Gemini model for high-volume multimodal and agent workloads",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8509,7 +8106,6 @@
"displayName": "Nano Banana 2 Lite",
"description": "Fastest, most cost-efficient Gemini image model for high-volume 1K generation and editing",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 65536,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8532,7 +8128,6 @@
"displayName": "Gemini 3.1 Flash Lite Preview",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8555,7 +8150,6 @@
"displayName": "Gemini 3.1 Flash Live Preview",
"description": "High-quality, low-latency Live API model for real-time dialogue and voice-first AI applications",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8578,7 +8172,6 @@
"displayName": "Gemini 3.1 Flash TTS Preview",
"description": "Low-latency speech generation with steerable prompts and expressive audio tags",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 8192,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-01",
@@ -8597,7 +8190,6 @@
"displayName": "Gemini 3.1 Pro Preview",
"description": "Reasoning-first Gemini preview for agentic coding and complex problem solving",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8620,7 +8212,6 @@
"displayName": "Gemini 3.1 Pro Preview Custom Tools",
"description": "Advanced Gemini model for complex reasoning, coding, and multimodal analysis",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8643,7 +8234,6 @@
"displayName": "Gemini 3.5 Flash",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -8666,7 +8256,6 @@
"displayName": "Gemini 3.5 Flash Lite",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2026-03",
@@ -8689,7 +8278,6 @@
"displayName": "Gemini 3.5 Live Translate Preview",
"description": "Low-latency audio-to-audio model for real-time speech translation across 70+ languages",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 16384,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-01",
@@ -8708,7 +8296,6 @@
"displayName": "Gemini 3.6 Flash",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2026-03",
@@ -8731,7 +8318,6 @@
"displayName": "Gemini 3.7 Flash",
"description": "High-efficiency Gemini model for agentic workflows, coding, and multimodal reasoning",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2026-03",
@@ -8754,7 +8340,6 @@
"displayName": "Gemini Embedding 001",
"description": "Embedding model for semantic search, retrieval, clustering, and ranking pipelines",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 2048,
"maxOutputTokens": 1,
"knowledgeCutoff": "2025-05",
@@ -8773,7 +8358,6 @@
"displayName": "Gemini Embedding 2",
"description": "Multimodal embedding model mapping text, images, video, audio, and PDFs into a unified embedding space",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 8192,
"maxOutputTokens": 1,
"knowledgeCutoff": "2025-11",
@@ -8792,7 +8376,6 @@
"displayName": "Gemini Flash Latest",
"description": "High-efficiency Gemini model for agentic workflows, coding, and multimodal reasoning",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2026-03",
@@ -8815,7 +8398,6 @@
"displayName": "Gemini Flash-Lite Latest",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2026-03",
@@ -8838,7 +8420,6 @@
"displayName": "Gemini Omni Flash Preview",
"description": "Video generation and editing model for fast, conversational text- and image-to-video workflows",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"lastUpdated": "2026-06-30",
@@ -8856,7 +8437,6 @@
"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",
@@ -8879,7 +8459,6 @@
"displayName": "Gemma 4 26B A4B IT",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -8901,7 +8480,6 @@
"displayName": "Gemma 4 31B IT",
"description": "Largest Gemma 4 instruction model for open, self-hosted chat and reasoning",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -8923,7 +8501,6 @@
"displayName": "Lyria 3 Clip Preview",
"description": "Music generation model for short 30-second clips, loops, and previews from text or image prompts",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"structuredOutput": false,
@@ -8943,7 +8520,6 @@
"displayName": "Lyria 3 Pro Preview",
"description": "Music generation model for full-length songs from text or images with vocals and structure",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"structuredOutput": false,
@@ -8963,7 +8539,6 @@
"displayName": "Veo 3.1 fast",
"description": "Video model for prompt-guided generation, editing, and motion workflows",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 480,
"maxOutputTokens": 8192,
"lastUpdated": "2026-01-01",
@@ -8981,7 +8556,6 @@
"displayName": "Veo 3.1",
"description": "Video model for prompt-guided generation, editing, and motion workflows",
"lifecycle": "beta",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 480,
"maxOutputTokens": 8192,
"lastUpdated": "2026-01",
@@ -8999,7 +8573,6 @@
"displayName": "Veo 3.1 lite",
"description": "Video model for prompt-guided generation, editing, and motion workflows",
"lifecycle": "active",
- "docsUrl": "https://ai.google.dev/gemini-api/docs/models",
"contextWindow": 480,
"maxOutputTokens": 8192,
"lastUpdated": "2026-03-31",
@@ -9019,7 +8592,6 @@
"displayName": "ALLaM-2-7b",
"description": "ALLaM-2-7b instruction tuned model by SDAIA",
"lifecycle": "active",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 4096,
"maxOutputTokens": 4096,
"lastUpdated": "2025-01-23",
@@ -9038,7 +8610,6 @@
"displayName": "Canopy Labs Orpheus Arabic Saudi",
"description": "Speech generation model for controllable voice, narration, and audio delivery",
"lifecycle": "beta",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 4000,
"maxOutputTokens": 50000,
"lastUpdated": "2025-12-16",
@@ -9056,7 +8627,6 @@
"displayName": "Canopy Labs Orpheus V1 English",
"description": "Speech generation model for controllable voice, narration, and audio delivery",
"lifecycle": "beta",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 4000,
"maxOutputTokens": 50000,
"lastUpdated": "2025-12-19",
@@ -9074,7 +8644,6 @@
"displayName": "Compound",
"description": "General-purpose chat model for instruction following, writing, and analysis",
"lifecycle": "active",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"lastUpdated": "2025-09-04",
@@ -9092,7 +8661,6 @@
"displayName": "Compound Mini",
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "active",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"lastUpdated": "2025-09-04",
@@ -9110,7 +8678,6 @@
"displayName": "Llama 3.1 8B",
"description": "Compact Llama instruction model for fast chat and local deployment",
"lifecycle": "active",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2023-12",
@@ -9129,7 +8696,6 @@
"displayName": "Llama 3.3 70B",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2023-12",
@@ -9148,7 +8714,6 @@
"displayName": "Llama Prompt Guard 2 22M",
"description": "Safety model for policy screening, moderation, and risk-aware routing workflows",
"lifecycle": "beta",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 512,
"maxOutputTokens": 512,
"lastUpdated": "2025-05-29",
@@ -9166,7 +8731,6 @@
"displayName": "Prompt Guard 2 86M",
"description": "Safety model for policy screening, moderation, and risk-aware routing workflows",
"lifecycle": "beta",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 512,
"maxOutputTokens": 512,
"lastUpdated": "2025-05-29",
@@ -9184,7 +8748,6 @@
"displayName": "GPT OSS 120B",
"description": "Open GPT reasoning model for self-hosted agents and controllable deployments",
"lifecycle": "active",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -9206,7 +8769,6 @@
"displayName": "GPT OSS 20B",
"description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads",
"lifecycle": "active",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -9228,7 +8790,6 @@
"displayName": "Safety GPT OSS 20B",
"description": "Safety model for policy screening, moderation, and risk-aware routing workflows",
"lifecycle": "beta",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -9250,7 +8811,6 @@
"displayName": "Qwen3.6 27B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -9272,7 +8832,6 @@
"displayName": "Whisper",
"description": "Speech transcription model for accurate audio-to-text and captioning workflows",
"lifecycle": "active",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 0,
"maxOutputTokens": 0,
"lastUpdated": "2025-09-05",
@@ -9290,7 +8849,6 @@
"displayName": "Whisper Large V3 Turbo",
"description": "Speech transcription model for accurate audio-to-text and captioning workflows",
"lifecycle": "active",
- "docsUrl": "https://console.groq.com/docs/models",
"contextWindow": 0,
"maxOutputTokens": 0,
"lastUpdated": "2024-10-01",
@@ -9310,7 +8868,6 @@
"displayName": "DeepSeek-R1",
"description": "Classic open reasoning model for transparent math, coding, and deliberate problem solving",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 64000,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-07",
@@ -9330,7 +8887,6 @@
"displayName": "DeepSeek-R1-0528",
"description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 163840,
"maxOutputTokens": 163840,
"knowledgeCutoff": "2025-05",
@@ -9349,7 +8905,6 @@
"displayName": "DeepSeek-V3",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 64000,
"maxOutputTokens": 8192,
"structuredOutput": true,
@@ -9368,7 +8923,6 @@
"displayName": "DeepSeek V3 0324",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 163840,
"maxOutputTokens": 163840,
"structuredOutput": true,
@@ -9387,7 +8941,6 @@
"displayName": "DeepSeek-V3.1",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"structuredOutput": true,
@@ -9406,7 +8959,6 @@
"displayName": "DeepSeek-V3.2",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 163840,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2024-07",
@@ -9425,7 +8977,6 @@
"displayName": "DeepSeek V4 Flash",
"description": "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 1048576,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -9445,7 +8996,6 @@
"displayName": "DeepSeek V4 Flash 0731",
"description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 1048576,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -9468,7 +9018,6 @@
"displayName": "DeepSeek V4 Pro",
"description": "Open MoE flagship with million-token context for coding and long agent runs",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 1048576,
"maxOutputTokens": 393216,
"knowledgeCutoff": "2025-05",
@@ -9491,7 +9040,6 @@
"displayName": "DeepSeek V4 Pro 0813",
"description": "Flagship DeepSeek model for coding, reasoning, and agentic work",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"structuredOutput": true,
@@ -9513,7 +9061,6 @@
"displayName": "Gemma 4 26B A4B IT",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -9532,7 +9079,6 @@
"displayName": "Gemma 4 31B IT",
"description": "Largest Gemma 4 instruction model for open, self-hosted chat and reasoning",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -9551,7 +9097,6 @@
"displayName": "Llama-3.1-8B-Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 131072,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-12",
@@ -9571,7 +9116,6 @@
"displayName": "Llama-3.3-70B-Instruct",
"description": "Popular open Llama workhorse for multilingual chat, coding, and self-hosting",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 131072,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-12",
@@ -9591,7 +9135,6 @@
"displayName": "MiniMax-M2",
"description": "Efficient open MiniMax model built for coding agents and tool-heavy workflows",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 204800,
"maxOutputTokens": 128000,
"lastUpdated": "2025-10-27",
@@ -9609,7 +9152,6 @@
"displayName": "MiniMax-M2.1",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-10",
@@ -9628,7 +9170,6 @@
"displayName": "MiniMax-M2.5",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-02-12",
@@ -9646,7 +9187,6 @@
"displayName": "MiniMax-M2.7",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -9665,7 +9205,6 @@
"displayName": "MiniMax-M3",
"description": "MiniMax multimodal model for long-context coding, perception, and agent planning",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 524288,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -9684,7 +9223,6 @@
"displayName": "Kimi-K2-Instruct",
"description": "Kimi model for long-context chat, coding, and agentic reasoning",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-10",
@@ -9703,7 +9241,6 @@
"displayName": "Kimi-K2-Instruct-0905",
"description": "Kimi model for long-context chat, coding, and agentic reasoning",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-10",
@@ -9722,7 +9259,6 @@
"displayName": "Kimi-K2-Thinking",
"description": "Kimi reasoning model for long-horizon research, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2024-08",
@@ -9741,7 +9277,6 @@
"displayName": "Kimi-K2.5",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -9760,7 +9295,6 @@
"displayName": "Kimi-K2.6",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -9779,7 +9313,6 @@
"displayName": "Kimi K2.7 Code",
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -9799,7 +9332,6 @@
"displayName": "Kimi K3",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -9821,7 +9353,6 @@
"displayName": "GPT OSS 120B",
"description": "Open GPT reasoning model for self-hosted agents and controllable deployments",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -9843,7 +9374,6 @@
"displayName": "GPT OSS 20B",
"description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -9865,7 +9395,6 @@
"displayName": "Qwen2.5-Coder-32B-Instruct",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"structuredOutput": true,
@@ -9884,7 +9413,6 @@
"displayName": "Qwen3 235B-A22B",
"description": "Large open Qwen MoE for multilingual reasoning, coding, and tool use",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 40960,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -9904,7 +9432,6 @@
"displayName": "Qwen3 235B-A22B Instruct 2507",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -9923,7 +9450,6 @@
"displayName": "Qwen3-235B-A22B-Thinking-2507",
"description": "Qwen reasoning model for deliberate problem solving, math, and coding",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -9942,7 +9468,6 @@
"displayName": "Qwen3 30B A3B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 40960,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -9961,7 +9486,6 @@
"displayName": "Qwen3 32B",
"description": "Dense open Qwen model for self-hosted chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -9981,7 +9505,6 @@
"displayName": "Qwen3-Coder 30B-A3B Instruct",
"description": "Smaller Qwen coder for efficient local agents and repo-level fixes",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -10001,7 +9524,6 @@
"displayName": "Qwen3-Coder-480B-A35B-Instruct",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 66536,
"knowledgeCutoff": "2025-04",
@@ -10020,7 +9542,6 @@
"displayName": "Qwen3-Coder-Next",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -10039,7 +9560,6 @@
"displayName": "Qwen 3 Embedding 4B",
"description": "Embedding model for semantic search, retrieval, clustering, and ranking pipelines",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 32000,
"maxOutputTokens": 2048,
"knowledgeCutoff": "2024-12",
@@ -10058,7 +9578,6 @@
"displayName": "Qwen 3 Embedding 8B",
"description": "Embedding model for semantic search, retrieval, clustering, and ranking pipelines",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 32000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2024-12",
@@ -10077,7 +9596,6 @@
"displayName": "Qwen3-Next-80B-A3B-Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 66536,
"knowledgeCutoff": "2025-04",
@@ -10096,7 +9614,6 @@
"displayName": "Qwen3-Next-80B-A3B-Thinking",
"description": "Qwen reasoning model for deliberate problem solving, math, and coding",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -10115,7 +9632,6 @@
"displayName": "Qwen3 VL 235B A22B Instruct",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-03-31",
@@ -10135,7 +9651,6 @@
"displayName": "Qwen3 VL 235B A22B Thinking",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-03-31",
@@ -10158,7 +9673,6 @@
"displayName": "Qwen3.5 122B-A10B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -10177,7 +9691,6 @@
"displayName": "Qwen3.5 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": 65536,
"structuredOutput": true,
@@ -10196,7 +9709,6 @@
"displayName": "Qwen3.5 35B-A3B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -10215,7 +9727,6 @@
"displayName": "Qwen3.5-397B-A17B",
"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,
"knowledgeCutoff": "2025-04",
@@ -10237,7 +9748,6 @@
"displayName": "Qwen3.5 9B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -10256,7 +9766,6 @@
"displayName": "Qwen3.6 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": 65536,
"structuredOutput": true,
@@ -10275,7 +9784,6 @@
"displayName": "Qwen3.6 35B-A3B",
"description": "Open multimodal Qwen MoE for local agents that need vision, audio, and code",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -10294,7 +9802,6 @@
"displayName": "Qwen3.8 2.4T A95B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -10316,7 +9823,6 @@
"displayName": "Step 3.5 Flash",
"description": "StepFun flash lane for quick multimodal reasoning and coding assistance",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 256000,
"knowledgeCutoff": "2025-01",
@@ -10335,7 +9841,6 @@
"displayName": "Step 3.7 Flash",
"description": "Newer StepFun flash model for faster agents, coding, and multimodal prompts",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 256000,
"knowledgeCutoff": "2026-03-01",
@@ -10357,7 +9862,6 @@
"displayName": "Hy3",
"description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 64000,
"structuredOutput": true,
@@ -10379,7 +9883,6 @@
"displayName": "Inkling",
"description": "Multimodal model for analyzing text, images, documents, and rich media",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 1048576,
"maxOutputTokens": 1048576,
"structuredOutput": true,
@@ -10401,7 +9904,6 @@
"displayName": "Inkling Small",
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 524288,
"maxOutputTokens": 1048576,
"lastUpdated": "2026-07-30",
@@ -10419,7 +9921,6 @@
"displayName": "MiMo-V2-Flash",
"description": "MiMo flash model for fast multimodal assistance and agent workflows",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2024-12",
@@ -10438,7 +9939,6 @@
"displayName": "MiMo-V2.5",
"description": "MiMo model for long-context reasoning, perception, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2024-12",
@@ -10462,7 +9962,6 @@
"displayName": "MiMo-V2.5-Pro",
"description": "Stronger MiMo Pro tier for multimodal reasoning and coding-agent execution",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2024-12",
@@ -10486,7 +9985,6 @@
"displayName": "GLM-4.5",
"description": "Hybrid-reasoning GLM release that made the 4.5 line broadly useful",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 131072,
"maxOutputTokens": 98304,
"knowledgeCutoff": "2025-04",
@@ -10505,7 +10003,6 @@
"displayName": "GLM-4.5-Air",
"description": "Lighter GLM-4.5 variant for fast coding assistance and cheaper agents",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 131072,
"maxOutputTokens": 98304,
"knowledgeCutoff": "2025-04",
@@ -10524,7 +10021,6 @@
"displayName": "GLM-4.5V",
"description": "GLM vision model for visual reasoning, documents, and multimodal agents",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 65536,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -10543,7 +10039,6 @@
"displayName": "GLM-4.6",
"description": "Late GLM-4 workhorse for coding agents, reasoning, and structured tasks",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -10562,7 +10057,6 @@
"displayName": "GLM-4.6V-Flash",
"description": "GLM vision model for visual reasoning, documents, and multimodal agents",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"lastUpdated": "2025-12-08",
@@ -10583,7 +10077,6 @@
"displayName": "GLM-4.7",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -10602,7 +10095,6 @@
"displayName": "GLM-4.7-Flash",
"description": "Efficient GLM model for fast reasoning, coding, and agent workflows",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 200000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2025-04",
@@ -10622,7 +10114,6 @@
"displayName": "GLM-5",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 202752,
"maxOutputTokens": 131072,
"lastUpdated": "2026-02-11",
@@ -10640,7 +10131,6 @@
"displayName": "GLM-5.1",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 202752,
"maxOutputTokens": 131072,
"lastUpdated": "2026-04-03",
@@ -10658,7 +10148,6 @@
"displayName": "GLM-5.2",
"description": "Open flagship GLM for long-horizon coding agents and million-token context work",
"lifecycle": "active",
- "docsUrl": "https://huggingface.co/docs/inference-providers",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -10679,7 +10168,6 @@
"displayName": "Kimi K3",
"description": "Multimodal Kimi model with 1M context and toggleable max-effort thinking for long-horizon agent work",
"lifecycle": "active",
- "docsUrl": "https://www.kimi.com/code/docs/en/third-party-tools/other-coding-agents.html",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -10703,7 +10191,6 @@
"displayName": "Kimi K3-256K",
"description": "256K-context version of Kimi K3, reducing token consumption for shorter coding sessions",
"lifecycle": "active",
- "docsUrl": "https://www.kimi.com/code/docs/en/third-party-tools/other-coding-agents.html",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -10726,7 +10213,6 @@
"displayName": "Kimi K2.7 Code",
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
- "docsUrl": "https://www.kimi.com/code/docs/en/third-party-tools/other-coding-agents.html",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-01",
@@ -10747,7 +10233,6 @@
"displayName": "Kimi For Coding HighSpeed",
"description": "Lower-latency Kimi Code variant for interactive edits and coding-agent loops",
"lifecycle": "active",
- "docsUrl": "https://www.kimi.com/code/docs/en/third-party-tools/other-coding-agents.html",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-01",
@@ -10770,7 +10255,6 @@
"displayName": "MiniMax-M2",
"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,
"lastUpdated": "2025-10-27",
@@ -10788,7 +10272,6 @@
"displayName": "MiniMax-M2.1",
"description": "Earlier MiniMax agent model for practical coding and productivity tasks",
"lifecycle": "active",
- "docsUrl": "https://platform.minimax.io/docs/guides/quickstart",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2025-12-23",
@@ -10806,7 +10289,6 @@
"displayName": "MiniMax-M2.5",
"description": "Prior MiniMax coding model for agent workflows, office edits, and automation",
"lifecycle": "active",
- "docsUrl": "https://platform.minimax.io/docs/guides/quickstart",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-02-12",
@@ -10824,7 +10306,6 @@
"displayName": "MiniMax-M2.5-highspeed",
"description": "High-speed MiniMax model for low-latency coding and agent workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.minimax.io/docs/guides/quickstart",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-02-13",
@@ -10842,7 +10323,6 @@
"displayName": "MiniMax-M2.7",
"description": "Open MiniMax flagship for coding agents, office automation, and complex environments",
"lifecycle": "active",
- "docsUrl": "https://platform.minimax.io/docs/guides/quickstart",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-03-18",
@@ -10860,7 +10340,6 @@
"displayName": "MiniMax-M2.7-highspeed",
"description": "Low-latency M2.7 variant for interactive coding plans and agent loops",
"lifecycle": "active",
- "docsUrl": "https://platform.minimax.io/docs/guides/quickstart",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-03-18",
@@ -10878,7 +10357,6 @@
"displayName": "MiniMax-M3",
"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,
"lastUpdated": "2026-06-25",
@@ -10901,7 +10379,6 @@
"displayName": "MiniMax-M2",
"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,
"lastUpdated": "2025-10-27",
@@ -10919,7 +10396,6 @@
"displayName": "MiniMax-M2.1",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://platform.minimaxi.com/docs/guides/quickstart",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2025-12-23",
@@ -10937,7 +10413,6 @@
"displayName": "MiniMax-M2.5",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://platform.minimaxi.com/docs/guides/quickstart",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-02-12",
@@ -10955,7 +10430,6 @@
"displayName": "MiniMax-M2.5-highspeed",
"description": "High-speed MiniMax model for low-latency coding and agent workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.minimaxi.com/docs/guides/quickstart",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-02-13",
@@ -10973,7 +10447,6 @@
"displayName": "MiniMax-M2.7",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://platform.minimaxi.com/docs/guides/quickstart",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-03-18",
@@ -10991,7 +10464,6 @@
"displayName": "MiniMax-M2.7-highspeed",
"description": "High-speed MiniMax model for low-latency coding and agent workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.minimaxi.com/docs/guides/quickstart",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-03-18",
@@ -11009,7 +10481,6 @@
"displayName": "MiniMax-M3",
"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,
"lastUpdated": "2026-06-25",
@@ -11032,7 +10503,6 @@
"displayName": "MiniMax-M2",
"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,
"lastUpdated": "2025-10-27",
@@ -11051,7 +10521,6 @@
"displayName": "MiniMax-M2.1",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://platform.minimax.io/docs/token-plan/intro",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2025-12-23",
@@ -11070,7 +10539,6 @@
"displayName": "MiniMax-M2.5",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://platform.minimax.io/docs/token-plan/intro",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-02-12",
@@ -11089,7 +10557,6 @@
"displayName": "MiniMax-M2.5-highspeed",
"description": "High-speed MiniMax model for low-latency coding and agent workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.minimax.io/docs/token-plan/intro",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-02-13",
@@ -11108,7 +10575,6 @@
"displayName": "MiniMax-M2.7",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://platform.minimax.io/docs/token-plan/intro",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-03-18",
@@ -11127,7 +10593,6 @@
"displayName": "MiniMax-M2.7-highspeed",
"description": "High-speed MiniMax model for low-latency coding and agent workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.minimax.io/docs/token-plan/intro",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-03-18",
@@ -11146,7 +10611,6 @@
"displayName": "MiniMax-M3",
"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,
"lastUpdated": "2026-06-25",
@@ -11170,7 +10634,6 @@
"displayName": "Codestral (latest)",
"description": "Mistral code model for completions, refactors, and developer IDE workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 256000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2024-10",
@@ -11189,7 +10652,6 @@
"displayName": "Devstral 2",
"description": "Mistral's coding-agent model for repository work, terminal tasks, and software fixes",
"lifecycle": "deprecated",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-12",
@@ -11208,7 +10670,6 @@
"displayName": "Devstral 2",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-12",
@@ -11227,7 +10688,6 @@
"displayName": "Devstral Medium",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2025-05",
@@ -11246,7 +10706,6 @@
"displayName": "Devstral 2 (latest)",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-12",
@@ -11265,7 +10724,6 @@
"displayName": "Devstral Small 2505",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2025-05",
@@ -11284,7 +10742,6 @@
"displayName": "Devstral Small",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2025-05",
@@ -11303,7 +10760,6 @@
"displayName": "Devstral Small 2",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 256000,
"maxOutputTokens": 256000,
"knowledgeCutoff": "2025-12",
@@ -11323,7 +10779,6 @@
"displayName": "Magistral Medium (latest)",
"description": "Mistral reasoning model for transparent analysis, math, and complex decisions",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-06",
@@ -11342,7 +10797,6 @@
"displayName": "Magistral Small",
"description": "Mistral reasoning model for transparent analysis, math, and complex decisions",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2025-06",
@@ -11361,7 +10815,6 @@
"displayName": "Ministral 3B (latest)",
"description": "Compact Mistral model for edge, latency-sensitive, and cost-efficient workloads",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2024-10",
@@ -11380,7 +10833,6 @@
"displayName": "Ministral 8B (latest)",
"description": "Compact Mistral model for edge, latency-sensitive, and cost-efficient workloads",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2024-10",
@@ -11399,7 +10851,6 @@
"displayName": "Mistral Embed",
"description": "Embedding model for semantic search, retrieval, clustering, and ranking pipelines",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 8000,
"maxOutputTokens": 3072,
"lastUpdated": "2023-12-11",
@@ -11417,7 +10868,6 @@
"displayName": "Mistral Large 2.1",
"description": "Flagship Mistral model for advanced reasoning, coding, and multilingual work",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-11",
@@ -11436,7 +10886,6 @@
"displayName": "Mistral Large 3",
"description": "Mistral's largest general model for enterprise agents, coding, and multilingual reasoning",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2024-11",
@@ -11455,7 +10904,6 @@
"displayName": "Mistral Large (latest)",
"description": "Flagship Mistral model for advanced reasoning, coding, and multilingual work",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2024-11",
@@ -11474,7 +10922,6 @@
"displayName": "Mistral Medium 3",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-05",
@@ -11493,7 +10940,6 @@
"displayName": "Mistral Medium 3.1",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-05",
@@ -11512,7 +10958,6 @@
"displayName": "Mistral Medium 3.5",
"description": "Balanced Mistral model for enterprise assistants, multilingual work, and tools",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -11534,7 +10979,6 @@
"displayName": "Mistral Medium (latest)",
"description": "Balanced Mistral model for enterprise assistants, multilingual work, and tools",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -11556,7 +11000,6 @@
"displayName": "Mistral Nemo",
"description": "Efficient Mistral-NVIDIA open model for multilingual chat and local deployment",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2024-07",
@@ -11575,7 +11018,6 @@
"displayName": "Mistral Small 3.2",
"description": "Efficient Mistral model for fast chat, extraction, and production assistants",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-03",
@@ -11594,7 +11036,6 @@
"displayName": "Mistral Small 4",
"description": "Fast Mistral production model for chat, extraction, and cost-sensitive agents",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 256000,
"maxOutputTokens": 256000,
"knowledgeCutoff": "2025-06",
@@ -11616,7 +11057,6 @@
"displayName": "Mistral Small (latest)",
"description": "Efficient Mistral model for fast chat, extraction, and production assistants",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 256000,
"maxOutputTokens": 256000,
"knowledgeCutoff": "2025-06",
@@ -11638,7 +11078,6 @@
"displayName": "Mistral 7B",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 8000,
"maxOutputTokens": 8000,
"knowledgeCutoff": "2023-12",
@@ -11657,7 +11096,6 @@
"displayName": "Open Mistral Nemo",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2024-07",
@@ -11676,7 +11114,6 @@
"displayName": "Mixtral 8x22B",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 64000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2024-04",
@@ -11695,7 +11132,6 @@
"displayName": "Mixtral 8x7B",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 32000,
"maxOutputTokens": 32000,
"knowledgeCutoff": "2024-01",
@@ -11714,7 +11150,6 @@
"displayName": "Pixtral 12B",
"description": "Mistral vision-language model for image understanding and multimodal chat",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2024-09",
@@ -11733,7 +11168,6 @@
"displayName": "Pixtral Large (latest)",
"description": "Mistral's larger vision model for document-heavy image understanding and chat",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2024-11",
@@ -11752,7 +11186,6 @@
"displayName": "Voxtral Mini (latest)",
"description": "Speech transcription model for accurate audio-to-text and captioning workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 0,
"maxOutputTokens": 0,
"lastUpdated": "2026-02-01",
@@ -11770,7 +11203,6 @@
"displayName": "Voxtral Mini TTS (latest)",
"description": "Multilingual text-to-speech model with zero-shot voice cloning",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 0,
"maxOutputTokens": 0,
"lastUpdated": "2026-03-01",
@@ -11788,7 +11220,6 @@
"displayName": "Voxtral Small (latest)",
"description": "Instruct model with native audio input for speech understanding and tool use",
"lifecycle": "active",
- "docsUrl": "https://docs.mistral.ai/getting-started/models/",
"contextWindow": 32000,
"maxOutputTokens": 32000,
"lastUpdated": "2025-07-15",
@@ -11808,7 +11239,6 @@
"displayName": "Kimi K2 0711",
"description": "Kimi model for long-context chat, coding, and agentic reasoning",
"lifecycle": "active",
- "docsUrl": "https://platform.moonshot.cn/docs/api/chat",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-10",
@@ -11827,7 +11257,6 @@
"displayName": "Kimi K2 0905",
"description": "Kimi model for long-context chat, coding, and agentic reasoning",
"lifecycle": "active",
- "docsUrl": "https://platform.moonshot.cn/docs/api/chat",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2024-10",
@@ -11846,7 +11275,6 @@
"displayName": "Kimi K2 Thinking",
"description": "Thinking Kimi model for slower research passes, planning, and hard technical questions",
"lifecycle": "active",
- "docsUrl": "https://platform.moonshot.cn/docs/api/chat",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2024-08",
@@ -11865,7 +11293,6 @@
"displayName": "Kimi K2 Thinking Turbo",
"description": "Kimi reasoning model for long-horizon research, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://platform.moonshot.cn/docs/api/chat",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2024-08",
@@ -11884,7 +11311,6 @@
"displayName": "Kimi K2 Turbo",
"description": "Fast Kimi model for responsive chat, coding help, and agent loops",
"lifecycle": "active",
- "docsUrl": "https://platform.moonshot.cn/docs/api/chat",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2024-10",
@@ -11903,7 +11329,6 @@
"displayName": "Kimi K2.5",
"description": "Earlier Kimi frontier model for long-context agents, coding, and multimodal work",
"lifecycle": "active",
- "docsUrl": "https://platform.moonshot.cn/docs/api/chat",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -11926,7 +11351,6 @@
"displayName": "Kimi K2.6",
"description": "Multimodal Kimi workhorse for agent loops, coding tasks, and visual context",
"lifecycle": "active",
- "docsUrl": "https://platform.moonshot.cn/docs/api/chat",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -11949,7 +11373,6 @@
"displayName": "Kimi K2.7 Code",
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
- "docsUrl": "https://platform.moonshot.cn/docs/api/chat",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -11969,7 +11392,6 @@
"displayName": "Kimi K2.7 Code HighSpeed",
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
- "docsUrl": "https://platform.moonshot.cn/docs/api/chat",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -11989,7 +11411,6 @@
"displayName": "Kimi K3",
"description": "Multimodal Kimi model with 1M context and toggleable max-effort thinking for long-horizon agent work",
"lifecycle": "active",
- "docsUrl": "https://platform.moonshot.cn/docs/api/chat",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -12014,7 +11435,6 @@
"displayName": "dracarys-llama-3.1-70b-instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2025-05-22",
@@ -12033,7 +11453,6 @@
"displayName": "BGE M3",
"description": "Flagship model for demanding analysis, coding, and production agent workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 8192,
"maxOutputTokens": 1024,
"lastUpdated": "2026-04-30",
@@ -12052,7 +11471,6 @@
"displayName": "FLUX.1-Kontext-dev",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 40960,
"maxOutputTokens": 40960,
"lastUpdated": "2025-08-12",
@@ -12071,7 +11489,6 @@
"displayName": "FLUX.1-schnell",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 77,
"inputLimit": 77,
"maxOutputTokens": 0,
@@ -12093,7 +11510,6 @@
"displayName": "FLUX.2 Klein 4B",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 40960,
"maxOutputTokens": 40960,
"knowledgeCutoff": "2025-06",
@@ -12113,7 +11529,6 @@
"displayName": "FLUX.1-dev",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 4096,
"maxOutputTokens": 0,
"knowledgeCutoff": "2024-08",
@@ -12133,7 +11548,6 @@
"displayName": "ByteDance-Seed/Seed-OSS-36B-Instruct",
"description": "Tool-capable chat model for instruction following and agentic application workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 262000,
"maxOutputTokens": 262000,
"structuredOutput": true,
@@ -12153,7 +11567,6 @@
"displayName": "DeepSeek V4 Flash",
"description": "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 1048576,
"maxOutputTokens": 393216,
"knowledgeCutoff": "2025-05",
@@ -12176,7 +11589,6 @@
"displayName": "DeepSeek V4 Pro",
"description": "Open MoE flagship with million-token context for coding and long agent runs",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 1048576,
"maxOutputTokens": 393216,
"knowledgeCutoff": "2025-05",
@@ -12199,7 +11611,6 @@
"displayName": "Gemma 2 2b It",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"structuredOutput": true,
@@ -12219,7 +11630,6 @@
"displayName": "Gemma 3 12B IT",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"lastUpdated": "2025-03-12",
@@ -12238,7 +11648,6 @@
"displayName": "Gemma 3 4B IT",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"lastUpdated": "2025-03-12",
@@ -12257,7 +11666,6 @@
"displayName": "Gemma 3n E2b It",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2024-06",
@@ -12278,7 +11686,6 @@
"displayName": "Gemma 3n E4b It",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2024-06",
@@ -12299,7 +11706,6 @@
"displayName": "Gemma-4-31B-IT",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 256000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-01",
@@ -12322,7 +11728,6 @@
"displayName": "paligemma",
"description": "Gemini multimodal model for text, image, audio, video, and document tasks",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2024-08-26",
@@ -12341,7 +11746,6 @@
"displayName": "esm2-650m",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2025-03-10",
@@ -12360,7 +11764,6 @@
"displayName": "esmfold",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2025-06-12",
@@ -12379,7 +11782,6 @@
"displayName": "Llama 3.1 70b Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"structuredOutput": true,
@@ -12399,7 +11801,6 @@
"displayName": "Llama 3.1 8B Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 16000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-12",
@@ -12419,7 +11820,6 @@
"displayName": "Llama 3.2 11b Vision Instruct",
"description": "Open Llama multimodal model for image understanding and text reasoning",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-12",
@@ -12440,7 +11840,6 @@
"displayName": "Llama 3.2 1b Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-12",
@@ -12461,7 +11860,6 @@
"displayName": "Llama 3.2 3B Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 32768,
"maxOutputTokens": 32000,
"structuredOutput": true,
@@ -12481,7 +11879,6 @@
"displayName": "Llama-3.2-90B-Vision-Instruct",
"description": "Open Llama multimodal model for image understanding and text reasoning",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2023-12",
@@ -12501,7 +11898,6 @@
"displayName": "Llama 3.3 70b Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"structuredOutput": true,
@@ -12521,7 +11917,6 @@
"displayName": "Llama 4 Maverick 17b 128e Instruct",
"description": "Open multimodal Llama model for strong reasoning and fast responses",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2024-02",
@@ -12542,7 +11937,6 @@
"displayName": "Llama Guard 4 12B",
"description": "Safety model for policy screening, moderation, and risk-aware routing workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"lastUpdated": "2026-04-30",
@@ -12561,7 +11955,6 @@
"displayName": "Muse Glimmer 30B",
"description": "Muse Glimmer is a 30-billion-parameter open-weight multimodal model from Meta Superintelligence Labs, distilled from Muse Spark for always-on local agents, tool use, coding, and image understanding.",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2026-01-04",
@@ -12585,7 +11978,6 @@
"displayName": "Phi-4-Mini",
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-12",
@@ -12605,7 +11997,6 @@
"displayName": "Phi 4 Multimodal",
"description": "General-purpose chat model for instruction following, writing, and analysis",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"inputLimit": 128000,
"maxOutputTokens": 16384,
@@ -12626,7 +12017,6 @@
"displayName": "MiniMax-M2.7",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"lastUpdated": "2026-04-11",
@@ -12645,7 +12035,6 @@
"displayName": "MiniMax-M3",
"description": "MiniMax multimodal model for long-context coding, perception, and agent planning",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 1000000,
"maxOutputTokens": 16384,
"lastUpdated": "2026-06-01",
@@ -12667,7 +12056,6 @@
"displayName": "Magistral Small 2506",
"description": "Mistral reasoning model for transparent analysis, math, and complex decisions",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 32768,
"inputLimit": 32768,
"maxOutputTokens": 32768,
@@ -12688,7 +12076,6 @@
"displayName": "Ministral 3 14B Instruct 2512",
"description": "Compact Mistral VLM for chat and instruction-based workloads",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 262144,
"maxOutputTokens": 16384,
"lastUpdated": "2025-12-02",
@@ -12707,7 +12094,6 @@
"displayName": "Mistral-7B-Instruct-v0.3",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 65536,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -12727,7 +12113,6 @@
"displayName": "Mistral Large 3 675B Instruct 2512",
"description": "Flagship Mistral model for advanced reasoning, coding, and multilingual work",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -12748,7 +12133,6 @@
"displayName": "Mistral Medium 3",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 131072,
"inputLimit": 131072,
"maxOutputTokens": 32768,
@@ -12769,7 +12153,6 @@
"displayName": "Mistral Medium 3.5",
"description": "Balanced Mistral model for enterprise assistants, multilingual work, and tools",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -12792,7 +12175,6 @@
"displayName": "mistral-nemotron",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2025-06-12",
@@ -12811,7 +12193,6 @@
"displayName": "mistral-small-4-119b-2603",
"description": "Efficient Mistral model for fast chat, extraction, and production assistants",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"structuredOutput": true,
@@ -12834,7 +12215,6 @@
"displayName": "Mistral: Mixtral 8x22B Instruct",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 65536,
"maxOutputTokens": 13108,
"lastUpdated": "2024-04-17",
@@ -12853,7 +12233,6 @@
"displayName": "Mistral: Mixtral 8x7B Instruct",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 32768,
"maxOutputTokens": 16384,
"lastUpdated": "2026-03-15",
@@ -12872,7 +12251,6 @@
"displayName": "Kimi K2 0905",
"description": "Kimi model for long-context chat, coding, and agentic reasoning",
"lifecycle": "deprecated",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2024-10",
@@ -12892,7 +12270,6 @@
"displayName": "Kimi K2.6",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "deprecated",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -12916,7 +12293,6 @@
"displayName": "Active Speaker Detection",
"description": "Nemotron multimodal model for visual reasoning and agentic AI workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 0,
"maxOutputTokens": 4096,
"lastUpdated": "2026-04-16",
@@ -12935,7 +12311,6 @@
"displayName": "bevformer",
"description": "Nemotron multimodal model for visual reasoning and agentic AI workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2025-07-20",
@@ -12954,7 +12329,6 @@
"displayName": "cosmos-predict1-5b",
"description": "Video model for prompt-guided generation, editing, and motion workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 0,
"maxOutputTokens": 4096,
"lastUpdated": "2025-03-18",
@@ -12973,7 +12347,6 @@
"displayName": "Cosmos Reason2 8B",
"description": "Vision language model for physical-world understanding with structured reasoning on video and images",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"lastUpdated": "2025-12-01",
@@ -12992,7 +12365,6 @@
"displayName": "cosmos-transfer1-7b",
"description": "Video model for prompt-guided generation, editing, and motion workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 0,
"maxOutputTokens": 4096,
"lastUpdated": "2025-06-30",
@@ -13011,7 +12383,6 @@
"displayName": "cosmos-transfer2.5-2b",
"description": "Video model for prompt-guided generation, editing, and motion workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 0,
"maxOutputTokens": 4096,
"lastUpdated": "2026-02-26",
@@ -13030,7 +12401,6 @@
"displayName": "gliner-pii",
"description": "Nemotron model for efficient reasoning, coding, and specialized AI agents",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"lastUpdated": "2026-03-03",
@@ -13049,7 +12419,6 @@
"displayName": "llama-3_2-nemoretriever-300m-embed-v1",
"description": "Embedding model for semantic search, retrieval, clustering, and ranking pipelines",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 32768,
"maxOutputTokens": 2048,
"lastUpdated": "2025-07-24",
@@ -13068,7 +12437,6 @@
"displayName": "Llama 3.1 Nemotron 70B Instruct",
"description": "Nemotron model for efficient reasoning, coding, and specialized AI agents",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2025-04-15",
@@ -13087,7 +12455,6 @@
"displayName": "Llama 3.1 Nemotron Nano 8B v1",
"description": "Nemotron model for efficient reasoning, coding, and specialized AI agents",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"lastUpdated": "2025-03-18",
@@ -13109,7 +12476,6 @@
"displayName": "Llama 3.1 Nemotron Nano VL 8B v1",
"description": "Nemotron multimodal model for visual reasoning and agentic AI workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 32768,
"maxOutputTokens": 16384,
"lastUpdated": "2025-04-10",
@@ -13128,7 +12494,6 @@
"displayName": "llama-3.1-nemotron-safety-guard-8b-v3",
"description": "Safety model for policy screening, moderation, and risk-aware routing workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"lastUpdated": "2025-10-28",
@@ -13147,7 +12512,6 @@
"displayName": "Llama 3.1 Nemotron Ultra 253B",
"description": "Flagship Nemotron model for high-throughput reasoning and complex agents",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"lastUpdated": "2025-04-07",
@@ -13169,7 +12533,6 @@
"displayName": "Llama 3.3 Nemotron Super 49B v1",
"description": "Nemotron model for efficient reasoning, coding, and specialized AI agents",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"lastUpdated": "2025-04-07",
@@ -13191,7 +12554,6 @@
"displayName": "Llama 3.3 Nemotron Super 49B v1.5",
"description": "Nemotron model for efficient reasoning, coding, and specialized AI agents",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"lastUpdated": "2025-07-25",
@@ -13213,7 +12575,6 @@
"displayName": "llama-nemotron-embed-vl-1b-v2",
"description": "Embedding model for semantic search, retrieval, clustering, and ranking pipelines",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 32768,
"maxOutputTokens": 2048,
"lastUpdated": "2026-02-10",
@@ -13232,7 +12593,6 @@
"displayName": "llama-nemotron-rerank-vl-1b-v2",
"description": "Reranking model for improving retrieval quality in search and recommendation systems",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"lastUpdated": "2026-03-31",
@@ -13251,7 +12611,6 @@
"displayName": "magpie-tts-zeroshot",
"description": "Speech generation model for controllable voice, narration, and audio delivery",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 0,
"maxOutputTokens": 4096,
"lastUpdated": "2025-06-12",
@@ -13270,7 +12629,6 @@
"displayName": "nemotron-3-content-safety",
"description": "Safety model for policy screening, moderation, and risk-aware routing workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"lastUpdated": "2026-04-16",
@@ -13289,7 +12647,6 @@
"displayName": "nemotron-3-nano-30b-a3b",
"description": "Small Nemotron 3 MoE for efficient coding, math, and long-context agents",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2024-09",
@@ -13312,7 +12669,6 @@
"displayName": "Nemotron 3 Nano Omni",
"description": "Open Nemotron omni model combining reasoning with text, vision, and audio",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 256000,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -13335,7 +12691,6 @@
"displayName": "Nemotron 3 Super",
"description": "Nemotron middle tier for collaborative agents and high-volume reasoning workloads",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2024-04",
@@ -13357,7 +12712,6 @@
"displayName": "Nemotron 3 Ultra 550B A55B",
"description": "Largest Nemotron 3 model for maximum open-weight reasoning and agent accuracy",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -13379,7 +12733,6 @@
"displayName": "Nemotron 3.5 Lightning 30B A3B",
"description": "Fast NVIDIA Nemotron MoE for reliable agentic tasks across enterprise workloads",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -13402,7 +12755,6 @@
"displayName": "nemotron-content-safety-reasoning-4b",
"description": "Safety model for policy screening, moderation, and risk-aware routing workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"lastUpdated": "2026-01-22",
@@ -13421,7 +12773,6 @@
"displayName": "nemotron-mini-4b-instruct",
"description": "Compact Nemotron model for efficient reasoning and deployable AI agents",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2024-08-26",
@@ -13440,7 +12791,6 @@
"displayName": "Nemotron Nano 12B v2 VL",
"description": "Nemotron multimodal model for visual reasoning and agentic AI workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"lastUpdated": "2025-10-28",
@@ -13459,7 +12809,6 @@
"displayName": "nemotron-voicechat",
"description": "Nemotron multimodal model for visual reasoning and agentic AI workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2026-03-16",
@@ -13478,7 +12827,6 @@
"displayName": "nv-embed-v1",
"description": "Embedding model for semantic search, retrieval, clustering, and ranking pipelines",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 32768,
"maxOutputTokens": 2048,
"lastUpdated": "2025-07-22",
@@ -13497,7 +12845,6 @@
"displayName": "nv-embedcode-7b-v1",
"description": "Nemotron model for efficient reasoning, coding, and specialized AI agents",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 32768,
"maxOutputTokens": 2048,
"lastUpdated": "2025-05-29",
@@ -13516,7 +12863,6 @@
"displayName": "nvidia-nemotron-nano-9b-v2",
"description": "Compact Nemotron model for efficient reasoning and deployable AI agents",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2024-09",
@@ -13539,7 +12885,6 @@
"displayName": "rerank-qa-mistral-4b",
"description": "Reranking model for improving retrieval quality in search and recommendation systems",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"lastUpdated": "2025-01-17",
@@ -13558,7 +12903,6 @@
"displayName": "riva-translate-4b-instruct-v1_1",
"description": "Translation model for multilingual conversion, localization, and cross-language workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"lastUpdated": "2025-12-12",
@@ -13577,7 +12921,6 @@
"displayName": "sparsedrive",
"description": "Nemotron multimodal model for visual reasoning and agentic AI workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2025-07-20",
@@ -13596,7 +12939,6 @@
"displayName": "streampetr",
"description": "Nemotron multimodal model for visual reasoning and agentic AI workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2025-11-13",
@@ -13615,7 +12957,6 @@
"displayName": "studiovoice",
"description": "Nemotron model for efficient reasoning, coding, and specialized AI agents",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2025-06-13",
@@ -13634,7 +12975,6 @@
"displayName": "synthetic-video-detector",
"description": "Video model for prompt-guided generation, editing, and motion workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 0,
"maxOutputTokens": 4096,
"lastUpdated": "2026-04-16",
@@ -13653,7 +12993,6 @@
"displayName": "usdcode",
"description": "Nemotron model for efficient reasoning, coding, and specialized AI agents",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"lastUpdated": "2026-01-01",
@@ -13672,7 +13011,6 @@
"displayName": "usdvalidate",
"description": "Nemotron model for efficient reasoning, coding, and specialized AI agents",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 0,
"maxOutputTokens": 4096,
"lastUpdated": "2025-01-08",
@@ -13691,7 +13029,6 @@
"displayName": "GPT-OSS-120B",
"description": "Open GPT reasoning model for self-hosted agents and controllable deployments",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2025-08",
@@ -13715,7 +13052,6 @@
"displayName": "GPT OSS 20B",
"description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -13738,7 +13074,6 @@
"displayName": "Whisper Large v3",
"description": "Speech transcription model for accurate audio-to-text and captioning workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 0,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-09",
@@ -13758,7 +13093,6 @@
"displayName": "Laguna XS 2.1",
"description": "Agentic coding model from Poolside in the XS size class for local deployment",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 262144,
"maxOutputTokens": 16384,
"structuredOutput": false,
@@ -13778,7 +13112,6 @@
"displayName": "Qwen Image",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 0,
"maxOutputTokens": 0,
"structuredOutput": false,
@@ -13798,7 +13131,6 @@
"displayName": "Qwen Image Edit",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 0,
"maxOutputTokens": 0,
"structuredOutput": false,
@@ -13818,7 +13150,6 @@
"displayName": "Qwen2.5 Coder 32b Instruct",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"structuredOutput": true,
@@ -13838,7 +13169,6 @@
"displayName": "Qwen3 Coder 480B A35B Instruct",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 262144,
"maxOutputTokens": 66536,
"knowledgeCutoff": "2025-04",
@@ -13858,7 +13188,6 @@
"displayName": "Qwen3-Next-80B-A3B-Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 262144,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-12",
@@ -13878,7 +13207,6 @@
"displayName": "Qwen3.5 122B-A10B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -13901,7 +13229,6 @@
"displayName": "Qwen3.5-397B-A17B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 262144,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2026-01",
@@ -13925,7 +13252,6 @@
"displayName": "sarvam-m",
"description": "Efficient Indian-language reasoning model for chat, coding, and multilingual work",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2025-07-25",
@@ -13944,7 +13270,6 @@
"displayName": "Step 3.5 Flash",
"description": "StepFun flash model for efficient multimodal reasoning, coding, and tool use",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 256000,
"maxOutputTokens": 16384,
"lastUpdated": "2026-02-02",
@@ -13966,7 +13291,6 @@
"displayName": "Step 3.7 Flash",
"description": "StepFun flash model for efficient multimodal reasoning, coding, and tool use",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 256000,
"maxOutputTokens": 16384,
"lastUpdated": "2026-05-28",
@@ -13988,7 +13312,6 @@
"displayName": "Inkling",
"description": "Multimodal MoE reasoning model (975B total, 41B active) for text, image, and audio",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 1048576,
"maxOutputTokens": 16384,
"lastUpdated": "2026-07-15",
@@ -14007,7 +13330,6 @@
"displayName": "solar-10.7b-instruct",
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"lastUpdated": "2025-04-10",
@@ -14026,7 +13348,6 @@
"displayName": "GLM-5.2",
"description": "Open flagship GLM for long-horizon coding agents and million-token context work",
"lifecycle": "active",
- "docsUrl": "https://docs.api.nvidia.com/nim/",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -14051,7 +13372,6 @@
"displayName": "deepseek-v4-flash",
"description": "Fast DeepSeek model for efficient chat, coding help, and agent loops",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 1048576,
"maxOutputTokens": 1048576,
"lastUpdated": "2026-04-24",
@@ -14073,7 +13393,6 @@
"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.ollama.com/cloud",
"contextWindow": 1048576,
"maxOutputTokens": 1048576,
"knowledgeCutoff": "2025-05",
@@ -14097,7 +13416,6 @@
"displayName": "deepseek-v4-pro",
"description": "Flagship DeepSeek model for coding, reasoning, and agentic work",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 1048576,
"maxOutputTokens": 1048576,
"lastUpdated": "2026-04-24",
@@ -14119,7 +13437,6 @@
"displayName": "gemma4:31b",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -14141,7 +13458,6 @@
"displayName": "glm-5.1",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 202752,
"maxOutputTokens": 131072,
"lastUpdated": "2026-04-07",
@@ -14162,7 +13478,6 @@
"displayName": "GLM-5.2",
"description": "Open flagship GLM for long-horizon coding agents and million-token context work",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 976000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -14184,7 +13499,6 @@
"displayName": "gpt-oss:120b",
"description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"lastUpdated": "2026-01-19",
@@ -14205,7 +13519,6 @@
"displayName": "gpt-oss:20b",
"description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"lastUpdated": "2026-01-19",
@@ -14226,7 +13539,6 @@
"displayName": "kimi-k2.5",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"lastUpdated": "2026-01-27",
@@ -14247,7 +13559,6 @@
"displayName": "kimi-k2.6",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"lastUpdated": "2026-04-20",
@@ -14268,7 +13579,6 @@
"displayName": "kimi-k2.7-code",
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -14291,7 +13601,6 @@
"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.ollama.com/cloud",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -14314,7 +13623,6 @@
"displayName": "minimax-m2.5",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-01",
@@ -14333,7 +13641,6 @@
"displayName": "minimax-m2.7",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 196608,
"maxOutputTokens": 196608,
"lastUpdated": "2026-03-18",
@@ -14354,7 +13661,6 @@
"displayName": "minimax-m3",
"description": "MiniMax multimodal coding model for long-context reasoning and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 512000,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-01",
@@ -14377,7 +13683,6 @@
"displayName": "mistral-large-3:675b",
"description": "Flagship Mistral model for advanced reasoning, coding, and multilingual work",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"lastUpdated": "2026-01-19",
@@ -14395,7 +13700,6 @@
"displayName": "nemotron-3-nano:30b",
"description": "Small Nemotron 3 MoE for efficient coding, math, and long-context agents",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"lastUpdated": "2026-01-19",
@@ -14416,7 +13720,6 @@
"displayName": "nemotron-3-super",
"description": "Nemotron middle tier for collaborative agents and high-volume reasoning workloads",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"lastUpdated": "2026-03-12",
@@ -14437,7 +13740,6 @@
"displayName": "nemotron-3-ultra",
"description": "Largest Nemotron 3 model for maximum open-weight reasoning and agent accuracy",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 262144,
"maxOutputTokens": 128000,
"lastUpdated": "2026-06-04",
@@ -14458,7 +13760,6 @@
"displayName": "qwen3.5:397b",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://docs.ollama.com/cloud",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"lastUpdated": "2026-02-17",
@@ -14481,7 +13782,6 @@
"displayName": "chatgpt-image-latest",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 0,
"inputLimit": 0,
"maxOutputTokens": 0,
@@ -14500,7 +13800,6 @@
"displayName": "GPT-3.5-turbo",
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "deprecated",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 16385,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2021-09-01",
@@ -14520,7 +13819,6 @@
"displayName": "GPT-4",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "deprecated",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 8192,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2023-11",
@@ -14540,7 +13838,6 @@
"displayName": "GPT-4 Turbo",
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "deprecated",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-12",
@@ -14560,7 +13857,6 @@
"displayName": "GPT-4.1",
"description": "Long-lived GPT workhorse for coding, instruction following, and production apps",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 1047576,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-04",
@@ -14580,7 +13876,6 @@
"displayName": "GPT-4.1 mini",
"description": "Affordable GPT-4.1 lane for fast coding help and structured extraction",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 1047576,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-04",
@@ -14600,7 +13895,6 @@
"displayName": "GPT-4.1 nano",
"description": "Tiny GPT-4.1 option for classification, routing, and very high-volume tasks",
"lifecycle": "deprecated",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 1047576,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-04",
@@ -14620,7 +13914,6 @@
"displayName": "GPT-4o",
"description": "Omni-era GPT for multimodal chat, practical coding, and general assistants",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-09",
@@ -14640,7 +13933,6 @@
"displayName": "GPT-4o (2024-05-13)",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "deprecated",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-09",
@@ -14660,7 +13952,6 @@
"displayName": "GPT-4o (2024-08-06)",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-09",
@@ -14680,7 +13971,6 @@
"displayName": "GPT-4o (2024-11-20)",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-09",
@@ -14700,7 +13990,6 @@
"displayName": "GPT-4o mini",
"description": "Small omni GPT for cheap multimodal assistance and production-scale traffic",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-09",
@@ -14720,7 +14009,6 @@
"displayName": "GPT-5",
"description": "Original GPT-5 workhorse for reasoning, coding, writing, and tool workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -14744,7 +14032,6 @@
"displayName": "GPT-5 Mini",
"description": "Small GPT-5 for responsive agents, coding help, and everyday automation",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -14768,7 +14055,6 @@
"displayName": "GPT-5 Nano",
"description": "Tiny GPT-5 lane for routing, extraction, classification, and bulk jobs",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -14792,7 +14078,6 @@
"displayName": "GPT-5 Pro",
"description": "Higher-accuracy GPT-5 tier for tough analysis, coding reviews, and planning",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 272000,
@@ -14816,7 +14101,6 @@
"displayName": "GPT-5.1",
"description": "Sharper GPT-5 generation for coding, product work, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -14840,7 +14124,6 @@
"displayName": "GPT-5.2",
"description": "Reliable GPT generation for broad coding, writing, and tool-assisted product work",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -14864,7 +14147,6 @@
"displayName": "GPT-5.2 Chat",
"description": "Chat-tuned GPT model for conversational assistance, writing, and tool workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-08-31",
@@ -14887,7 +14169,6 @@
"displayName": "GPT-5.2 Pro",
"description": "Higher-accuracy GPT-5.2 variant for tougher reasoning and review workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -14911,7 +14192,6 @@
"displayName": "GPT-5.3 Chat (latest)",
"description": "Chat-tuned GPT model for conversational assistance, writing, and tool workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-08-31",
@@ -14931,7 +14211,6 @@
"displayName": "GPT-5.3 Codex",
"description": "Coding-optimized GPT model for repository edits, reviews, and agentic software work",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -14955,7 +14234,6 @@
"displayName": "GPT-5.3 Codex Spark",
"description": "Coding-optimized GPT model for repository edits, reviews, and agentic software work",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 128000,
"inputLimit": 100000,
"maxOutputTokens": 32000,
@@ -14979,7 +14257,6 @@
"displayName": "GPT-5.4",
"description": "Agent-ready GPT for coding and computer-use workflows at a lower cost",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -15003,7 +14280,6 @@
"displayName": "GPT-5.4 mini",
"description": "Strong small GPT for coding subagents, quick tool use, and high-volume work",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -15027,7 +14303,6 @@
"displayName": "GPT-5.4 nano",
"description": "Cheapest GPT-5.4 lane for simple routing, extraction, and bulk automation",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -15051,7 +14326,6 @@
"displayName": "GPT-5.4 Pro",
"description": "More exact GPT-5.4 tier for demanding professional reasoning and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -15075,7 +14349,6 @@
"displayName": "GPT-5.5",
"description": "Default frontier GPT for coding, computer use, research, and knowledge work",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -15099,7 +14372,6 @@
"displayName": "GPT-5.5 Pro",
"description": "Highest-accuracy GPT-5.5 tier for slower, precision-heavy reasoning and coding",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -15123,7 +14395,6 @@
"displayName": "GPT-5.6",
"description": "Frontier GPT-5.6 model for complex professional work, coding, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -15147,7 +14418,6 @@
"displayName": "GPT-5.6 Luna",
"description": "Cost-efficient GPT-5.6 model for fast, high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -15171,7 +14441,6 @@
"displayName": "GPT-5.6 Sol",
"description": "Frontier GPT-5.6 model for complex professional work, coding, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -15195,7 +14464,6 @@
"displayName": "GPT-5.6 Terra",
"description": "Balanced GPT-5.6 model for capable, cost-efficient everyday work",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -15219,7 +14487,6 @@
"displayName": "gpt-image-1",
"description": "OpenAI image model for production generation, edits, and brand-safe visual workflows",
"lifecycle": "deprecated",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 0,
"inputLimit": 0,
"maxOutputTokens": 0,
@@ -15238,7 +14505,6 @@
"displayName": "gpt-image-1-mini",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 0,
"inputLimit": 0,
"maxOutputTokens": 0,
@@ -15257,7 +14523,6 @@
"displayName": "gpt-image-1.5",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 0,
"inputLimit": 0,
"maxOutputTokens": 0,
@@ -15276,7 +14541,6 @@
"displayName": "gpt-image-2",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 0,
"inputLimit": 0,
"maxOutputTokens": 0,
@@ -15295,7 +14559,6 @@
"displayName": "GPT-Realtime-2.1",
"description": "Realtime speech-to-speech model with configurable reasoning, tool use, and robust voice-agent behavior",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 128000,
"inputLimit": 96000,
"maxOutputTokens": 32000,
@@ -15319,7 +14582,6 @@
"displayName": "o1",
"description": "O-series reasoning model for hard analysis, math, coding, and planning",
"lifecycle": "deprecated",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2023-09",
@@ -15342,7 +14604,6 @@
"displayName": "o1-pro",
"description": "O-series reasoning model for hard analysis, math, coding, and planning",
"lifecycle": "deprecated",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2023-09",
@@ -15365,7 +14626,6 @@
"displayName": "o3",
"description": "Deliberate o-series reasoner for hard math, coding, and multi-step analysis",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2024-05",
@@ -15388,7 +14648,6 @@
"displayName": "o3-mini",
"description": "Smaller o-series reasoner for economical coding, math, and planning tasks",
"lifecycle": "deprecated",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2024-05",
@@ -15411,7 +14670,6 @@
"displayName": "o3-pro",
"description": "High-effort o3 tier for difficult technical reasoning and careful answers",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2024-05",
@@ -15434,7 +14692,6 @@
"displayName": "o4-mini",
"description": "Fast o-series model for compact reasoning, coding, and tool use",
"lifecycle": "deprecated",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2024-05",
@@ -15457,7 +14714,6 @@
"displayName": "text-embedding-3-large",
"description": "Embedding model for semantic search, retrieval, clustering, and ranking pipelines",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 8191,
"maxOutputTokens": 3072,
"knowledgeCutoff": "2024-01",
@@ -15476,7 +14732,6 @@
"displayName": "text-embedding-3-small",
"description": "Embedding model for semantic search, retrieval, clustering, and ranking pipelines",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 8191,
"maxOutputTokens": 1536,
"knowledgeCutoff": "2024-01",
@@ -15495,7 +14750,6 @@
"displayName": "text-embedding-ada-002",
"description": "Embedding model for semantic search, retrieval, clustering, and ranking pipelines",
"lifecycle": "active",
- "docsUrl": "https://platform.openai.com/docs/models",
"contextWindow": 8192,
"maxOutputTokens": 1536,
"knowledgeCutoff": "2022-12",
@@ -15516,7 +14770,6 @@
"displayName": "Big Pickle",
"description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 200000,
"inputLimit": 160000,
"maxOutputTokens": 32000,
@@ -15538,7 +14791,6 @@
"displayName": "Claude Haiku 3.5",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 200000,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-07-31",
@@ -15557,7 +14809,6 @@
"displayName": "Claude Fable 5",
"description": "Claude model for creative writing, analysis, and controlled agent workflows",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01-31",
@@ -15579,7 +14830,6 @@
"displayName": "Claude Haiku 4.5",
"description": "Fast Claude model for responsive assistance, classification, and lightweight agents",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 200000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-02-28",
@@ -15598,7 +14848,6 @@
"displayName": "Claude Opus 4.1",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 200000,
"maxOutputTokens": 32000,
"knowledgeCutoff": "2025-03-31",
@@ -15617,7 +14866,6 @@
"displayName": "Claude Opus 4.5",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 200000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-03-31",
@@ -15639,7 +14887,6 @@
"displayName": "Claude Opus 4.6",
"description": "High-end Claude for difficult coding, planning, and slower expert reasoning",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2025-05-31",
@@ -15661,7 +14908,6 @@
"displayName": "Claude Opus 4.7",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01-31",
@@ -15683,7 +14929,6 @@
"displayName": "Claude Opus 4.8",
"description": "Top Claude Opus tier for the hardest reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01",
@@ -15705,7 +14950,6 @@
"displayName": "Claude Opus 5",
"description": "Strongest Claude Opus model for coding, agents, and professional work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-05",
@@ -15727,7 +14971,6 @@
"displayName": "Claude Sonnet 4",
"description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-03-31",
@@ -15746,7 +14989,6 @@
"displayName": "Claude Sonnet 4.5",
"description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-07-31",
@@ -15765,7 +15007,6 @@
"displayName": "Claude Sonnet 4.6",
"description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-08-31",
@@ -15787,7 +15028,6 @@
"displayName": "Claude Sonnet 5",
"description": "Everyday Claude agent model for coding, planning, browsing, and general work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01-31",
@@ -15809,7 +15049,6 @@
"displayName": "DeepSeek V4 Flash",
"description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -15833,7 +15072,6 @@
"displayName": "DeepSeek V4 Flash Free",
"description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 200000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2025-05",
@@ -15857,7 +15095,6 @@
"displayName": "DeepSeek V4 Pro",
"description": "Open MoE flagship with million-token context for coding and long agent runs",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -15881,7 +15118,6 @@
"displayName": "Gemini 3 Flash",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -15904,7 +15140,6 @@
"displayName": "Gemini 3 Pro",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -15927,7 +15162,6 @@
"displayName": "Gemini 3.1 Pro Preview",
"description": "Advanced Gemini model for complex reasoning, coding, and multimodal analysis",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -15950,7 +15184,6 @@
"displayName": "Gemini 3.5 Flash",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -15973,7 +15206,6 @@
"displayName": "Gemini 3.5 Flash Lite",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2026-03",
@@ -15996,7 +15228,6 @@
"displayName": "Gemini 3.6 Flash",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2026-03",
@@ -16019,7 +15250,6 @@
"displayName": "Gemini 3.7 Flash",
"description": "High-efficiency Gemini model for agentic workflows, coding, and multimodal reasoning",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2026-03",
@@ -16042,7 +15272,6 @@
"displayName": "GLM-4.6",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -16064,7 +15293,6 @@
"displayName": "GLM-4.7",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -16086,7 +15314,6 @@
"displayName": "GLM-4.7 Free",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -16109,7 +15336,6 @@
"displayName": "GLM-5",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -16131,7 +15357,6 @@
"displayName": "GLM-5 Free",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -16154,7 +15379,6 @@
"displayName": "GLM-5.1",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -16176,7 +15400,6 @@
"displayName": "GLM-5.2",
"description": "Open flagship GLM for long-horizon coding agents and million-token context work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -16198,7 +15421,6 @@
"displayName": "GPT-5",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -16222,7 +15444,6 @@
"displayName": "GPT-5 Codex",
"description": "Coding-optimized GPT model for repository edits, reviews, and agentic software work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -16246,7 +15467,6 @@
"displayName": "GPT-5 Nano",
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -16270,7 +15490,6 @@
"displayName": "GPT-5.1",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -16294,7 +15513,6 @@
"displayName": "GPT-5.1 Codex",
"description": "Coding-optimized GPT model for repository edits, reviews, and agentic software work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -16318,7 +15536,6 @@
"displayName": "GPT-5.1 Codex Max",
"description": "Coding-optimized GPT model for repository edits, reviews, and agentic software work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -16342,7 +15559,6 @@
"displayName": "GPT-5.1 Codex Mini",
"description": "Coding-optimized GPT model for repository edits, reviews, and agentic software work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -16366,7 +15582,6 @@
"displayName": "GPT-5.2",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -16390,7 +15605,6 @@
"displayName": "GPT-5.2 Codex",
"description": "Coding-optimized GPT model for repository edits, reviews, and agentic software work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -16414,7 +15628,6 @@
"displayName": "GPT-5.3 Codex",
"description": "Coding-optimized GPT model for repository edits, reviews, and agentic software work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -16438,7 +15651,6 @@
"displayName": "GPT-5.3 Codex Spark",
"description": "Coding-optimized GPT model for repository edits, reviews, and agentic software work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 128000,
"inputLimit": 128000,
"maxOutputTokens": 128000,
@@ -16462,7 +15674,6 @@
"displayName": "GPT-5.4",
"description": "Agent-ready GPT for coding and computer-use workflows at a lower cost",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -16486,7 +15697,6 @@
"displayName": "GPT-5.4 Mini",
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -16510,7 +15720,6 @@
"displayName": "GPT-5.4 Nano",
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -16534,7 +15743,6 @@
"displayName": "GPT-5.4 Pro",
"description": "Frontier GPT model for professional reasoning, coding, and multimodal work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -16558,7 +15766,6 @@
"displayName": "GPT-5.5",
"description": "Default frontier GPT for coding, computer use, research, and knowledge work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -16582,7 +15789,6 @@
"displayName": "GPT-5.5 Pro",
"description": "Frontier GPT model for professional reasoning, coding, and multimodal work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -16606,7 +15812,6 @@
"displayName": "GPT-5.6 Luna",
"description": "Cost-efficient GPT-5.6 model for fast, high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -16630,7 +15835,6 @@
"displayName": "GPT-5.6 Sol (50% Off)",
"description": "Frontier GPT-5.6 model for complex professional work, coding, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -16654,7 +15858,6 @@
"displayName": "GPT-5.6 Terra",
"description": "Balanced GPT-5.6 model for capable, cost-efficient everyday work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -16678,7 +15881,6 @@
"displayName": "Grok 4.5",
"description": "xAI's Grok model for chat, coding, agentic tools, and lower hallucination risk",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 500000,
"maxOutputTokens": 500000,
"structuredOutput": true,
@@ -16700,7 +15902,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",
@@ -16723,7 +15924,6 @@
"displayName": "Grok Build 0.1",
"description": "Fast Grok coding model tuned for agentic engineering and iterative edits",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 256000,
"maxOutputTokens": 256000,
"structuredOutput": true,
@@ -16742,7 +15942,6 @@
"displayName": "Grok Code Fast 1",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 256000,
"maxOutputTokens": 256000,
"lastUpdated": "2025-08-20",
@@ -16761,7 +15960,6 @@
"displayName": "Hy3 Free",
"description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 190000,
"maxOutputTokens": 64000,
"structuredOutput": true,
@@ -16785,7 +15983,6 @@
"displayName": "Hy3 preview Free",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 256000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-06",
@@ -16805,7 +16002,6 @@
"displayName": "Kimi K2",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2024-10",
@@ -16824,7 +16020,6 @@
"displayName": "Kimi K2 Thinking",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2024-10",
@@ -16843,7 +16038,6 @@
"displayName": "Kimi K2.5",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2024-10",
@@ -16865,7 +16059,6 @@
"displayName": "Kimi K2.5 Free",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2024-10",
@@ -16888,7 +16081,6 @@
"displayName": "Kimi K2.6",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2024-10",
@@ -16910,7 +16102,6 @@
"displayName": "Kimi K2.7 Code",
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -16930,7 +16121,6 @@
"displayName": "Kimi K3",
"description": "Multimodal Kimi model with 1M context and toggleable max-effort thinking for long-horizon agent work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -16952,7 +16142,6 @@
"displayName": "Laguna S 2.1 Free",
"description": "Agentic coding model from Poolside in the XS size class for local deployment",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 256000,
"maxOutputTokens": 32000,
"structuredOutput": false,
@@ -16975,7 +16164,6 @@
"displayName": "Ling 2.6 Flash Free",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262100,
"maxOutputTokens": 32800,
"knowledgeCutoff": "2025-06",
@@ -16995,7 +16183,6 @@
"displayName": "Ling-3.0-flash Free",
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": false,
@@ -17018,7 +16205,6 @@
"displayName": "Ling-3.0-tiny Free",
"description": "Compact MoE model for responsive agents, instruction following, and multi-turn conversations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": false,
@@ -17038,7 +16224,6 @@
"displayName": "LongCat-2.0 Free",
"description": "Meituan LongCat-2.0, a reasoning model with tool calling and a 1M-token context window",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"lastUpdated": "2026-06-30",
@@ -17060,7 +16245,6 @@
"displayName": "MiMo V2 Flash Free",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2024-12",
@@ -17080,7 +16264,6 @@
"displayName": "MiMo V2 Omni Free",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2024-12",
@@ -17100,7 +16283,6 @@
"displayName": "MiMo V2 Pro Free",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2024-12",
@@ -17120,7 +16302,6 @@
"displayName": "MiMo V2.5 Free",
"description": "MiMo omni model for text, image, video, audio, and agents",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 200000,
"maxOutputTokens": 32000,
"knowledgeCutoff": "2024-12",
@@ -17140,7 +16321,6 @@
"displayName": "MiniMax-M2.1",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-01",
@@ -17159,7 +16339,6 @@
"displayName": "MiniMax-M2.1 Free",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-01",
@@ -17179,7 +16358,6 @@
"displayName": "MiniMax-M2.5",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-01",
@@ -17198,7 +16376,6 @@
"displayName": "MiniMax-M2.5 Free",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-01",
@@ -17218,7 +16395,6 @@
"displayName": "MiniMax-M2.7",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-01",
@@ -17237,7 +16413,6 @@
"displayName": "MiniMax-M3",
"description": "MiniMax multimodal model for long-context coding, perception, and agent planning",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 512000,
"maxOutputTokens": 128000,
"lastUpdated": "2026-06-01",
@@ -17255,7 +16430,6 @@
"displayName": "MiniMax-M3 Free",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 200000,
"maxOutputTokens": 32000,
"knowledgeCutoff": "2025-01",
@@ -17278,7 +16452,6 @@
"displayName": "Muse Spark 1.2",
"description": "Muse Spark 1.2 is a coding-focused update to Muse Spark 1.1 with improvements in code generation, complex debugging, codebase understanding, and end-to-end developer workflows.",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -17300,7 +16473,6 @@
"displayName": "Muse Spark 1.2 Free",
"description": "Muse Spark 1.2 is a coding-focused update to Muse Spark 1.1 with improvements in code generation, complex debugging, codebase understanding, and end-to-end developer workflows.",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -17323,7 +16495,6 @@
"displayName": "Nemotron 3 Super Free",
"description": "Nemotron middle tier for collaborative agents and high-volume reasoning workloads",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-02",
@@ -17343,7 +16514,6 @@
"displayName": "Nemotron 3 Ultra Free",
"description": "Largest Nemotron 3 model for maximum open-weight reasoning and agent accuracy",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-02",
@@ -17363,7 +16533,6 @@
"displayName": "Nemotron 3.5 Lightning Free",
"description": "Fast NVIDIA Nemotron MoE for reliable agentic tasks across enterprise workloads",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -17383,7 +16552,6 @@
"displayName": "North Mini Code Free",
"description": "Cohere coding model for practical software engineering and agentic edits",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 256000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-09-23",
@@ -17407,7 +16575,6 @@
"displayName": "Qwen3 Coder",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -17426,7 +16593,6 @@
"displayName": "Qwen3.5 Plus",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -17448,7 +16614,6 @@
"displayName": "Qwen3.6 Plus",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -17470,7 +16635,6 @@
"displayName": "Qwen3.6 Plus Free",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -17493,7 +16657,6 @@
"displayName": "Ring 2.6 1T Free",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262000,
"maxOutputTokens": 66000,
"knowledgeCutoff": "2025-06",
@@ -17513,7 +16676,6 @@
"displayName": "Trinity Large Preview",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-06",
@@ -17533,7 +16695,6 @@
"displayName": "Ox Alpha Free (Unlimited)",
"description": "Stealth reasoning model for coding, agentic tasks, and tool use",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -17558,7 +16719,6 @@
"displayName": "DeepSeek V4 Flash",
"description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -17581,7 +16741,6 @@
"displayName": "DeepSeek V4 Pro (New)",
"description": "Flagship DeepSeek model for coding, reasoning, and agentic work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -17604,7 +16763,6 @@
"displayName": "GLM-5",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 202752,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -17623,7 +16781,6 @@
"displayName": "GLM-5.1",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 202752,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -17642,7 +16799,6 @@
"displayName": "GLM-5.2",
"description": "Open flagship GLM for long-horizon coding agents and million-token context work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -17664,7 +16820,6 @@
"displayName": "GLM-5.3",
"description": "Flagship GLM model for long-horizon coding, agents, and complex project delivery",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -17686,7 +16841,6 @@
"displayName": "GPT-5.6 Luna",
"description": "Cost-efficient GPT-5.6 model for fast, high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -17710,7 +16864,6 @@
"displayName": "Grok 4.5",
"description": "xAI's Grok model for chat, coding, agentic tools, and lower hallucination risk",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 500000,
"maxOutputTokens": 500000,
"structuredOutput": true,
@@ -17732,7 +16885,6 @@
"displayName": "Hy3 (8x usage)",
"description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 256000,
"maxOutputTokens": 64000,
"lastUpdated": "2026-07-06",
@@ -17753,7 +16905,6 @@
"displayName": "Kimi K2.5",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2024-10",
@@ -17772,7 +16923,6 @@
"displayName": "Kimi K2.6",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2024-10",
@@ -17791,7 +16941,6 @@
"displayName": "Kimi K2.7 Code",
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -17811,7 +16960,6 @@
"displayName": "Kimi K3",
"description": "Multimodal Kimi model with 1M context and toggleable max-effort thinking for long-horizon agent work",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -17833,7 +16981,6 @@
"displayName": "MiMo V2 Omni",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2024-12",
@@ -17852,7 +16999,6 @@
"displayName": "MiMo V2 Pro",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2024-12",
@@ -17871,7 +17017,6 @@
"displayName": "MiMo V2.5",
"description": "MiMo omni model for text, image, video, audio, and agents",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2024-12",
@@ -17890,7 +17035,6 @@
"displayName": "MiMo V2.5 Pro",
"description": "MiMo pro model for strong multimodal reasoning and agent execution",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2024-12",
@@ -17909,7 +17053,6 @@
"displayName": "MiniMax-M2.5",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -17928,7 +17071,6 @@
"displayName": "MiniMax-M2.7",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-01",
@@ -17947,7 +17089,6 @@
"displayName": "MiniMax-M3",
"description": "MiniMax multimodal coding model for long-context reasoning and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-01",
@@ -17969,7 +17110,6 @@
"displayName": "Muse Spark 1.2 Contributor",
"description": "Muse Spark 1.2 is a coding-focused update to Muse Spark 1.1 with improvements in code generation, complex debugging, codebase understanding, and end-to-end developer workflows.",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -17991,7 +17131,6 @@
"displayName": "Ox Alpha Free (Unlimited)",
"description": "Stealth reasoning model for coding, agentic tasks, and tool use",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -18014,7 +17153,6 @@
"displayName": "Qwen3.5 Plus",
"description": "Legacy model retained for compatibility with older integrations",
"lifecycle": "deprecated",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -18036,7 +17174,6 @@
"displayName": "Qwen3.6 Plus",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -18058,7 +17195,6 @@
"displayName": "Qwen3.7 Max",
"description": "Flagship model for demanding analysis, coding, and production agent workflows",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"lastUpdated": "2026-05-21",
@@ -18079,7 +17215,6 @@
"displayName": "Qwen3.7 Plus",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"lastUpdated": "2026-06-02",
@@ -18100,7 +17235,6 @@
"displayName": "Qwen3.8 Max",
"description": "2.4-trillion-parameter multimodal flagship for coding, professional work, and long-horizon agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://opencode.ai/docs/zen",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -18124,7 +17258,6 @@
"displayName": "Claude Fable Latest",
"description": "Claude model for creative writing, analysis, and controlled agent workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -18146,7 +17279,6 @@
"displayName": "Anthropic Claude Haiku Latest",
"description": "Fast Claude model for responsive assistance, classification, and lightweight agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 64000,
"structuredOutput": true,
@@ -18168,7 +17300,6 @@
"displayName": "Claude Opus Latest",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -18191,7 +17322,6 @@
"displayName": "Anthropic Claude Sonnet Latest",
"description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01-31",
@@ -18215,7 +17345,6 @@
"displayName": "DeepSeek V4 Flash Latest",
"description": "Fast DeepSeek model for efficient chat, coding help, and agent loops",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1310720,
"maxOutputTokens": 1048576,
"structuredOutput": true,
@@ -18238,7 +17367,6 @@
"displayName": "Google Gemini Flash Latest",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01-01",
@@ -18261,7 +17389,6 @@
"displayName": "Google Gemini Pro Latest",
"description": "Advanced Gemini model for complex reasoning, coding, and multimodal analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -18284,7 +17411,6 @@
"displayName": "MoonshotAI Kimi Latest",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 974842,
"structuredOutput": true,
@@ -18307,7 +17433,6 @@
"displayName": "OpenAI GPT Latest",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1050000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-02-16",
@@ -18330,7 +17455,6 @@
"displayName": "OpenAI GPT Mini Latest",
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2025-08-31",
@@ -18353,7 +17477,6 @@
"displayName": "Grok Latest",
"description": "Grok model for agentic tool use, reasoning, coding, and live assistance",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 500000,
"maxOutputTokens": 1000000,
"structuredOutput": true,
@@ -18375,7 +17498,6 @@
"displayName": "GLM Latest",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": false,
@@ -18397,7 +17519,6 @@
"displayName": "Aion-2.0",
"description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"structuredOutput": false,
@@ -18416,7 +17537,6 @@
"displayName": "Aion-3.0",
"description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"structuredOutput": false,
@@ -18435,7 +17555,6 @@
"displayName": "Aion-3.0-Mini",
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"structuredOutput": false,
@@ -18454,7 +17573,6 @@
"displayName": "Aion-RP 1.0 (8B)",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 32768,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2023-12-31",
@@ -18474,7 +17592,6 @@
"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,
@@ -18493,7 +17610,6 @@
"displayName": "Nova 2 Lite",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 65535,
"structuredOutput": false,
@@ -18512,7 +17628,6 @@
"displayName": "Nova Lite 1.0",
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 300000,
"maxOutputTokens": 5120,
"knowledgeCutoff": "2024-10-31",
@@ -18532,7 +17647,6 @@
"displayName": "Nova Micro 1.0",
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 5120,
"knowledgeCutoff": "2024-10-31",
@@ -18552,7 +17666,6 @@
"displayName": "Nova Premier 1.0",
"description": "Flagship model for demanding analysis, coding, and production agent workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 32000,
"structuredOutput": false,
@@ -18571,7 +17684,6 @@
"displayName": "Nova Pro 1.0",
"description": "Flagship model for demanding analysis, coding, and production agent workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 300000,
"maxOutputTokens": 5120,
"knowledgeCutoff": "2024-10-31",
@@ -18591,7 +17703,6 @@
"displayName": "Magnum v4 72B",
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 32768,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2024-06-30",
@@ -18611,7 +17722,6 @@
"displayName": "Claude 3 Haiku",
"description": "Fast Claude model for responsive assistance, classification, and lightweight agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-08-31",
@@ -18631,7 +17741,6 @@
"displayName": "Claude Fable 5",
"description": "Claude model for creative writing, analysis, and controlled agent workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01-31",
@@ -18654,7 +17763,6 @@
"displayName": "Claude Haiku 4.5 (latest)",
"description": "Fast Claude lane for lightweight agents, office tasks, and responsive chat",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-02-28",
@@ -18677,7 +17785,6 @@
"displayName": "Claude Opus 4",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 32000,
"knowledgeCutoff": "2025-01-31",
@@ -18700,7 +17807,6 @@
"displayName": "Claude Opus 4.1 (latest)",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 32000,
"knowledgeCutoff": "2025-03-31",
@@ -18723,7 +17829,6 @@
"displayName": "Claude Opus 4.5 (latest)",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-05",
@@ -18747,7 +17852,6 @@
"displayName": "Claude Opus 4.6",
"description": "High-end Claude for difficult coding, planning, and slower expert reasoning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2025-05-31",
@@ -18771,7 +17875,6 @@
"displayName": "Claude Opus 4.7",
"description": "Stronger Opus tier for advanced software work and high-stakes reasoning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01-31",
@@ -18795,7 +17898,6 @@
"displayName": "Claude Opus 4.7 (Fast)",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01-31",
@@ -18819,7 +17921,6 @@
"displayName": "Claude Opus 4.8",
"description": "Top Claude Opus tier for the hardest reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01",
@@ -18843,7 +17944,6 @@
"displayName": "Claude Opus 4.8 (Fast)",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01",
@@ -18867,7 +17967,6 @@
"displayName": "Claude Opus 5",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-05",
@@ -18891,7 +17990,6 @@
"displayName": "Claude Opus 5 (Fast)",
"description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-05",
@@ -18915,7 +18013,6 @@
"displayName": "Claude Sonnet 4",
"description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-01-31",
@@ -18938,7 +18035,6 @@
"displayName": "Claude Sonnet 4.5 (latest)",
"description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 64000,
"knowledgeCutoff": "2025-07-31",
@@ -18961,7 +18057,6 @@
"displayName": "Claude Sonnet 4.6",
"description": "Claude workhorse for coding agents, careful analysis, and production cost control",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2025-08-31",
@@ -18985,7 +18080,6 @@
"displayName": "Claude Sonnet 5",
"description": "Everyday Claude agent model for coding, planning, browsing, and general work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2026-01-31",
@@ -19009,7 +18103,6 @@
"displayName": "Trinity Large Thinking",
"description": "Reasoning-optimized 398B MoE agent model with extended thinking for long-horizon and multi-turn tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -19028,7 +18121,6 @@
"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",
@@ -19048,7 +18140,6 @@
"displayName": "ERNIE 4.5 VL 424B A47B ",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 123000,
"maxOutputTokens": 16000,
"knowledgeCutoff": "2025-03-31",
@@ -19068,7 +18159,6 @@
"displayName": "Seed 1.6",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -19087,7 +18177,6 @@
"displayName": "Seed 1.6 Flash",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -19106,7 +18195,6 @@
"displayName": "Seed 2.1 Turbo",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -19125,7 +18213,6 @@
"displayName": "Seed 2.0 Code",
"description": "Coding model for repository understanding, refactors, and agentic engineering tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -19148,7 +18235,6 @@
"displayName": "Seed 2.0 Lite",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -19171,7 +18257,6 @@
"displayName": "Seed 2.0 Mini",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -19194,7 +18279,6 @@
"displayName": "UI-TARS 7B ",
"description": "Multimodal model for analyzing text, images, documents, and rich media",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 2048,
"knowledgeCutoff": "2025-01-31",
@@ -19214,7 +18298,6 @@
"displayName": "Uncensored",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-04-30",
@@ -19234,7 +18317,6 @@
"displayName": "Command A",
"description": "Cohere command model for multilingual enterprise agents, tools, and chat",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 256000,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-08-31",
@@ -19254,7 +18336,6 @@
"displayName": "Command R",
"description": "Cohere retrieval model for long-context chat and enterprise RAG workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 4000,
"knowledgeCutoff": "2024-06-01",
@@ -19274,7 +18355,6 @@
"displayName": "Command R+",
"description": "Cohere's RAG workhorse for long-context enterprise search and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 4000,
"knowledgeCutoff": "2024-06-01",
@@ -19294,7 +18374,6 @@
"displayName": "Command R7B",
"description": "Cohere retrieval model for long-context chat and enterprise RAG workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 4000,
"knowledgeCutoff": "2024-06-01",
@@ -19314,7 +18393,6 @@
"displayName": "North Mini Code (free)",
"description": "Cohere coding model for practical software engineering and agentic edits",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 256000,
"maxOutputTokens": 64000,
"structuredOutput": false,
@@ -19334,7 +18412,6 @@
"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,
@@ -19353,7 +18430,6 @@
"displayName": "DeepSeek Chat",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 163840,
"maxOutputTokens": 16000,
"knowledgeCutoff": "2025-09",
@@ -19373,7 +18449,6 @@
"displayName": "DeepSeek V3 0324",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 163840,
"maxOutputTokens": 163840,
"knowledgeCutoff": "2024-07-31",
@@ -19393,7 +18468,6 @@
"displayName": "DeepSeek V3.1",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 163840,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-03-31",
@@ -19416,7 +18490,6 @@
"displayName": "DeepSeek-R1",
"description": "Classic open reasoning model for transparent math, coding, and deliberate problem solving",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 64000,
"maxOutputTokens": 16000,
"knowledgeCutoff": "2024-07",
@@ -19436,7 +18509,6 @@
"displayName": "R1 0528",
"description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 163840,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-03-31",
@@ -19456,7 +18528,6 @@
"displayName": "R1 Distill Llama 70B",
"description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 8192,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-07-31",
@@ -19476,7 +18547,6 @@
"displayName": "DeepSeek V3.1 Terminus",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 163840,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-03-31",
@@ -19499,7 +18569,6 @@
"displayName": "DeepSeek V3.2",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 163840,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2024-07",
@@ -19522,7 +18591,6 @@
"displayName": "DeepSeek V3.2 Exp",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 163840,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-07-31",
@@ -19545,7 +18613,6 @@
"displayName": "DeepSeek V4 Flash",
"description": "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -19569,7 +18636,6 @@
"displayName": "DeepSeek V4 Flash 0731",
"description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1310720,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -19593,7 +18659,6 @@
"displayName": "DeepSeek V4 Flash Vision Exp",
"description": "Fast DeepSeek model for efficient chat, coding help, and agent loops",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 384000,
"structuredOutput": false,
@@ -19616,7 +18681,6 @@
"displayName": "DeepSeek V4 Pro",
"description": "Open MoE flagship with million-token context for coding and long agent runs",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 393216,
"knowledgeCutoff": "2025-05",
@@ -19640,7 +18704,6 @@
"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://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 384000,
"structuredOutput": true,
@@ -19663,7 +18726,6 @@
"displayName": "Dots3-Note Preview (free)",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 512000,
"maxOutputTokens": 512000,
"structuredOutput": true,
@@ -19683,7 +18745,6 @@
"displayName": "Gemini 2.5 Flash",
"description": "Fast Gemini workhorse for multimodal apps where latency and price matter",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65535,
"knowledgeCutoff": "2025-01",
@@ -19706,7 +18767,6 @@
"displayName": "Nano Banana",
"description": "Nano Banana image model for fast generation, edits, and character-consistent assets",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 32768,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2024-06",
@@ -19726,7 +18786,6 @@
"displayName": "Gemini 2.5 Flash-Lite",
"description": "Lean Gemini 2.5 lane for cheap multimodal traffic and quick agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65535,
"knowledgeCutoff": "2025-01",
@@ -19749,7 +18808,6 @@
"displayName": "Gemini 2.5 Pro",
"description": "Google's proven reasoning model for coding, math, and multimodal analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -19769,7 +18827,6 @@
"displayName": "Gemini 2.5 Pro Preview 06-05",
"description": "Advanced Gemini model for complex reasoning, coding, and multimodal analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01-31",
@@ -19789,7 +18846,6 @@
"displayName": "Gemini 2.5 Pro Preview 05-06",
"description": "Advanced Gemini model for complex reasoning, coding, and multimodal analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65535,
"knowledgeCutoff": "2025-01-31",
@@ -19809,7 +18865,6 @@
"displayName": "Gemini 3 Flash Preview",
"description": "New Gemini flash lane bringing frontier-style multimodal reasoning to cheaper runs",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -19833,7 +18888,6 @@
"displayName": "Nano Banana Pro",
"description": "Nano Banana Pro for higher-fidelity image generation and design-heavy edits",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-01",
@@ -19853,7 +18907,6 @@
"displayName": "Nano Banana Pro",
"description": "Nano Banana Pro for higher-fidelity image generation and design-heavy edits",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 65536,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-01",
@@ -19873,7 +18926,6 @@
"displayName": "Nano Banana 2",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-01",
@@ -19897,7 +18949,6 @@
"displayName": "Nano Banana 2",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 65536,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -19921,7 +18972,6 @@
"displayName": "Gemini 3.1 Flash Lite",
"description": "Low-latency Gemini model for high-volume multimodal and agent workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -19945,7 +18995,6 @@
"displayName": "Nano Banana 2 Lite",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 65536,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -19969,7 +19018,6 @@
"displayName": "Gemini 3.1 Flash Lite Preview",
"description": "Low-latency Gemini model for high-volume multimodal and agent workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -19993,7 +19041,6 @@
"displayName": "Gemini 3.1 Pro Preview",
"description": "Reasoning-first Gemini preview for agentic coding and complex problem solving",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -20016,7 +19063,6 @@
"displayName": "Gemini 3.1 Pro Preview Custom Tools",
"description": "Advanced Gemini model for complex reasoning, coding, and multimodal analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -20039,7 +19085,6 @@
"displayName": "Gemini 3.5 Flash",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -20062,7 +19107,6 @@
"displayName": "Gemini 3.5 Flash Lite",
"description": "Low-latency Gemini model for high-volume multimodal and agent workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2026-03",
@@ -20085,7 +19129,6 @@
"displayName": "Gemini 3.6 Flash",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2026-03",
@@ -20108,7 +19151,6 @@
"displayName": "Gemini 3.7 Flash",
"description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2026-03",
@@ -20131,7 +19173,6 @@
"displayName": "Gemma 2 27B",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 8192,
"maxOutputTokens": 2048,
"knowledgeCutoff": "2024-06-30",
@@ -20151,7 +19192,6 @@
"displayName": "Gemma 3 12B",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-08-31",
@@ -20171,7 +19211,6 @@
"displayName": "Gemma 3 27B",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2024-08-31",
@@ -20191,7 +19230,6 @@
"displayName": "Gemma 3 4B",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-08-31",
@@ -20211,7 +19249,6 @@
"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",
@@ -20231,7 +19268,6 @@
"displayName": "Gemma 4 26B A4B IT",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -20253,7 +19289,6 @@
"displayName": "Gemma 4 26B A4B (free)",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": false,
@@ -20276,7 +19311,6 @@
"displayName": "Gemma 4 31B IT",
"description": "Largest Gemma 4 instruction model for open, self-hosted chat and reasoning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -20298,7 +19332,6 @@
"displayName": "Gemma 4 31B (free)",
"description": "Largest Gemma 4 instruction model for open, self-hosted chat and reasoning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": false,
@@ -20321,7 +19354,6 @@
"displayName": "Lyria 3 Clip Preview",
"description": "Speech generation model for controllable voice, narration, and audio delivery",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"structuredOutput": false,
@@ -20341,7 +19373,6 @@
"displayName": "Lyria 3 Pro Preview",
"description": "Speech generation model for controllable voice, narration, and audio delivery",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 65536,
"structuredOutput": false,
@@ -20361,7 +19392,6 @@
"displayName": "MythoMax 13B",
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 8192,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-06-30",
@@ -20381,7 +19411,6 @@
"displayName": "Granite 4.0 Micro",
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131000,
"maxOutputTokens": 131000,
"structuredOutput": false,
@@ -20400,7 +19429,6 @@
"displayName": "Granite 4.1 8B",
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -20419,7 +19447,6 @@
"displayName": "Mercury 2",
"description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 50000,
"structuredOutput": true,
@@ -20441,7 +19468,6 @@
"displayName": "Ling-2.6-1T",
"description": "Tool-capable chat model for instruction following and agentic application workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -20460,7 +19486,6 @@
"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,
@@ -20479,7 +19504,6 @@
"displayName": "Ling-3.0-flash",
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": false,
@@ -20498,7 +19522,6 @@
"displayName": "Ring-2.6-1T",
"description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": false,
@@ -20520,7 +19543,6 @@
"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,
@@ -20539,7 +19561,6 @@
"displayName": "KAT-Coder-Pro V2",
"description": "Coding model for repository understanding, refactors, and agentic engineering tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 80000,
"structuredOutput": true,
@@ -20558,7 +19579,6 @@
"displayName": "KAT-Coder-Pro 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,
@@ -20577,7 +19597,6 @@
"displayName": "LFM2.5-2.6B (free)",
"description": "Free provider route for experiments, demos, and cost-sensitive chat workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 65536,
"maxOutputTokens": 8192,
"structuredOutput": true,
@@ -20597,7 +19616,6 @@
"displayName": "Weaver (alpha)",
"description": "General-purpose chat model for instruction following, writing, and analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 8000,
"maxOutputTokens": 6000,
"knowledgeCutoff": "2023-06-30",
@@ -20617,7 +19635,6 @@
"displayName": "LongCat 2.0",
"description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048756,
"maxOutputTokens": 262144,
"structuredOutput": false,
@@ -20636,7 +19653,6 @@
"displayName": "Llama 3.1 70B Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-12-31",
@@ -20656,7 +19672,6 @@
"displayName": "Llama-3.1-8B-Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2023-12",
@@ -20676,7 +19691,6 @@
"displayName": "Llama 3.2 1B Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 60000,
"maxOutputTokens": 60000,
"knowledgeCutoff": "2023-12-31",
@@ -20696,7 +19710,6 @@
"displayName": "Llama 3.2 3B Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2023-12-31",
@@ -20716,7 +19729,6 @@
"displayName": "Llama-3.3-70B-Instruct",
"description": "Popular open Llama workhorse for multilingual chat, coding, and self-hosting",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-12",
@@ -20736,7 +19748,6 @@
"displayName": "Llama 4 Maverick",
"description": "Open multimodal Llama model for strong reasoning and fast responses",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-08-31",
@@ -20756,7 +19767,6 @@
"displayName": "Llama 4 Scout",
"description": "Open multimodal Llama model for long-context analysis and efficient agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1310720,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-08-31",
@@ -20776,7 +19786,6 @@
"displayName": "Llama Guard 4 12B",
"description": "Safety model for policy screening, moderation, and risk-aware routing workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-08-31",
@@ -20796,7 +19805,6 @@
"displayName": "Muse Glimmer 30B",
"description": "Muse Glimmer is a 30-billion-parameter open-weight multimodal model from Meta Superintelligence Labs, distilled from Muse Spark for always-on local agents, tool use, coding, and image understanding.",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2026-01-04",
@@ -20819,7 +19827,6 @@
"displayName": "Muse Spark 1.1",
"description": "Open Llama multimodal model for image understanding and text reasoning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 1048576,
"structuredOutput": true,
@@ -20841,7 +19848,6 @@
"displayName": "Muse Spark 1.2",
"description": "Muse Spark 1.2 is a coding-focused update to Muse Spark 1.1 with improvements in code generation, complex debugging, codebase understanding, and end-to-end developer workflows.",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 1048576,
"structuredOutput": true,
@@ -20863,7 +19869,6 @@
"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,
"knowledgeCutoff": "2024-06-30",
@@ -20883,7 +19888,6 @@
"displayName": "WizardLM-2 8x22B",
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 65535,
"maxOutputTokens": 8000,
"knowledgeCutoff": "2024-04-30",
@@ -20903,7 +19907,6 @@
"displayName": "MiniMax-01",
"description": "MiniMax multimodal coding model for long-context reasoning and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000192,
"maxOutputTokens": 1000192,
"knowledgeCutoff": "2024-03-31",
@@ -20923,7 +19926,6 @@
"displayName": "MiniMax M1",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 40000,
"knowledgeCutoff": "2024-06-30",
@@ -20943,7 +19945,6 @@
"displayName": "MiniMax-M2",
"description": "Efficient open MiniMax model built for coding agents and tool-heavy workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -20962,7 +19963,6 @@
"displayName": "MiniMax-M2 Her",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 65536,
"maxOutputTokens": 2048,
"structuredOutput": false,
@@ -20981,7 +19981,6 @@
"displayName": "MiniMax-M2.1",
"description": "Earlier MiniMax agent model for practical coding and productivity tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"structuredOutput": false,
@@ -21000,7 +19999,6 @@
"displayName": "MiniMax-M2.5",
"description": "Prior MiniMax coding model for agent workflows, office edits, and automation",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 204800,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -21019,7 +20017,6 @@
"displayName": "MiniMax-M2.7",
"description": "Open MiniMax flagship for coding agents, office automation, and complex environments",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -21038,7 +20035,6 @@
"displayName": "MiniMax-M3",
"description": "MiniMax multimodal model for long-context coding, perception, and agent planning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 512000,
"structuredOutput": true,
@@ -21057,7 +20053,6 @@
"displayName": "Codestral 2508",
"description": "Mistral coding model for code completion, generation, and developer workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 256000,
"maxOutputTokens": 256000,
"knowledgeCutoff": "2025-03-31",
@@ -21077,7 +20072,6 @@
"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": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -21096,7 +20090,6 @@
"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": 131072,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -21115,7 +20108,6 @@
"displayName": "Ministral 8B",
"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",
@@ -21135,7 +20127,6 @@
"displayName": "Ministral 3 8B 2512",
"description": "Compact Mistral model for edge, latency-sensitive, and cost-efficient workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -21154,7 +20145,6 @@
"displayName": "Mistral Large",
"description": "Flagship Mistral model for advanced reasoning, coding, and multilingual work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2024-11-30",
@@ -21174,7 +20164,6 @@
"displayName": "Mistral Large 2407",
"description": "Flagship Mistral model for advanced reasoning, coding, and multilingual work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2024-03-31",
@@ -21194,7 +20183,6 @@
"displayName": "Mistral Large 3",
"description": "Mistral's largest general model for enterprise agents, coding, and multilingual reasoning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2024-11",
@@ -21214,7 +20202,6 @@
"displayName": "Mistral Medium 3",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-03-31",
@@ -21234,7 +20221,6 @@
"displayName": "Mistral Medium 3.5",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -21256,7 +20242,6 @@
"displayName": "Mistral Medium 3.1",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-06-30",
@@ -21276,7 +20261,6 @@
"displayName": "Mistral Nemo",
"description": "Efficient Mistral-NVIDIA open model for multilingual chat and local deployment",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-07",
@@ -21296,7 +20280,6 @@
"displayName": "Saba",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 32768,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-09-30",
@@ -21316,7 +20299,6 @@
"displayName": "Mistral Small 3",
"description": "Efficient Mistral model for fast chat, extraction, and production assistants",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 32768,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-10-31",
@@ -21336,7 +20318,6 @@
"displayName": "Mistral Small 4",
"description": "Fast Mistral production model for chat, extraction, and cost-sensitive agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-06",
@@ -21359,7 +20340,6 @@
"displayName": "Mistral Small 3.1 24B",
"description": "Efficient Mistral model for fast chat, extraction, and production assistants",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2023-10-31",
@@ -21379,7 +20359,6 @@
"displayName": "Mistral Small 3.2 24B",
"description": "Efficient Mistral model for fast chat, extraction, and production assistants",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 256000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-10-31",
@@ -21399,7 +20378,6 @@
"displayName": "Mixtral 8x22B Instruct",
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 65536,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2024-01-31",
@@ -21419,7 +20397,6 @@
"displayName": "Voxtral Small 24B 2507",
"description": "Efficient Mistral model for fast chat, extraction, and production assistants",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 32000,
"maxOutputTokens": 32000,
"structuredOutput": true,
@@ -21438,7 +20415,6 @@
"displayName": "Kimi K2 0711",
"description": "Kimi model for long-context chat, coding, and agentic reasoning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 100352,
"knowledgeCutoff": "2024-12-31",
@@ -21458,7 +20434,6 @@
"displayName": "Kimi K2 0905",
"description": "Kimi model for long-context chat, coding, and agentic reasoning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 100352,
"knowledgeCutoff": "2024-12-31",
@@ -21478,7 +20453,6 @@
"displayName": "Kimi K2 Thinking",
"description": "Thinking Kimi model for slower research passes, planning, and hard technical questions",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 100352,
"knowledgeCutoff": "2024-08",
@@ -21498,7 +20472,6 @@
"displayName": "Kimi K2.5",
"description": "Earlier Kimi frontier model for long-context agents, coding, and multimodal work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -21518,7 +20491,6 @@
"displayName": "Kimi K2.6",
"description": "Multimodal Kimi workhorse for agent loops, coding tasks, and visual context",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -21538,7 +20510,6 @@
"displayName": "Kimi K2.7 Code",
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-01",
@@ -21558,7 +20529,6 @@
"displayName": "Kimi K3",
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 1048576,
"structuredOutput": true,
@@ -21581,7 +20551,6 @@
"displayName": "Morph V3 Fast",
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 81920,
"maxOutputTokens": 38000,
"structuredOutput": false,
@@ -21600,7 +20569,6 @@
"displayName": "Morph V3 Large",
"description": "Flagship model for demanding analysis, coding, and production agent workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -21619,7 +20587,6 @@
"displayName": "Nex-N2-Mini",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -21638,7 +20605,6 @@
"displayName": "Nex-N2-Pro",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": false,
@@ -21657,7 +20623,6 @@
"displayName": "Hermes 3 405B Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-12-31",
@@ -21677,7 +20642,6 @@
"displayName": "Hermes 3 70B Instruct",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-12-31",
@@ -21697,7 +20661,6 @@
"displayName": "Hermes 4 405B",
"description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2024-08-31",
@@ -21720,7 +20683,6 @@
"displayName": "Hermes 4 70B",
"description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2024-08-31",
@@ -21743,7 +20705,6 @@
"displayName": "Nemotron 3 Nano 30B A3B",
"description": "Small Nemotron 3 MoE for efficient coding, math, and long-context agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -21762,7 +20723,6 @@
"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,
@@ -21782,7 +20742,6 @@
"displayName": "Nemotron 3 Nano Omni (free)",
"description": "Open Nemotron omni model combining reasoning with text, vision, and audio",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 256000,
"maxOutputTokens": 65536,
"structuredOutput": false,
@@ -21802,7 +20761,6 @@
"displayName": "Nemotron 3 Super 120B A12B",
"description": "Nemotron middle tier for collaborative agents and high-volume reasoning workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -21825,7 +20783,6 @@
"displayName": "Nemotron 3 Super (free)",
"description": "Nemotron middle tier for collaborative agents and high-volume reasoning workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -21849,7 +20806,6 @@
"displayName": "Nemotron 3 Ultra 550B A55B",
"description": "Largest Nemotron 3 model for maximum open-weight reasoning and agent accuracy",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 512288,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -21872,7 +20828,6 @@
"displayName": "Nemotron 3 Ultra (free)",
"description": "Largest Nemotron 3 model for maximum open-weight reasoning and agent accuracy",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"structuredOutput": false,
@@ -21896,7 +20851,6 @@
"displayName": "Nemotron 3.5 Content Safety (free)",
"description": "Safety model for policy screening, moderation, and risk-aware routing workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"structuredOutput": false,
@@ -21916,7 +20870,6 @@
"displayName": "Nemotron 3.5 Lightning 30B A3B",
"description": "Nemotron model for efficient reasoning, coding, and specialized AI agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -21938,7 +20891,6 @@
"displayName": "Nemotron 3.5 Lightning (free)",
"description": "Nemotron model for efficient reasoning, coding, and specialized AI agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"structuredOutput": false,
@@ -21961,7 +20913,6 @@
"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,
@@ -21981,7 +20932,6 @@
"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,
@@ -22001,7 +20951,6 @@
"displayName": "GPT-3.5-turbo",
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 16385,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2021-09-01",
@@ -22021,7 +20970,6 @@
"displayName": "GPT-3.5 Turbo (older v0613)",
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 4095,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2021-09-30",
@@ -22041,7 +20989,6 @@
"displayName": "GPT-3.5 Turbo 16k",
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 16385,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2021-09-30",
@@ -22061,7 +21008,6 @@
"displayName": "GPT-3.5 Turbo Instruct",
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 4095,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2021-09-30",
@@ -22081,7 +21027,6 @@
"displayName": "GPT-4",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 8191,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-11",
@@ -22101,7 +21046,6 @@
"displayName": "GPT-4 Turbo",
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-12",
@@ -22121,7 +21065,6 @@
"displayName": "GPT-4 Turbo Preview",
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-12-31",
@@ -22141,7 +21084,6 @@
"displayName": "GPT-4.1",
"description": "Long-lived GPT workhorse for coding, instruction following, and production apps",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1047576,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-04",
@@ -22161,7 +21103,6 @@
"displayName": "GPT-4.1 mini",
"description": "Affordable GPT-4.1 lane for fast coding help and structured extraction",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1047576,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-04",
@@ -22181,7 +21122,6 @@
"displayName": "GPT-4.1 nano",
"description": "Tiny GPT-4.1 option for classification, routing, and very high-volume tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1047576,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-04",
@@ -22201,7 +21141,6 @@
"displayName": "GPT-4o",
"description": "Omni-era GPT for multimodal chat, practical coding, and general assistants",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-09",
@@ -22221,7 +21160,6 @@
"displayName": "GPT-4o (2024-05-13)",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 4096,
"knowledgeCutoff": "2023-09",
@@ -22241,7 +21179,6 @@
"displayName": "GPT-4o (2024-08-06)",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-09",
@@ -22261,7 +21198,6 @@
"displayName": "GPT-4o (2024-11-20)",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-09",
@@ -22281,7 +21217,6 @@
"displayName": "GPT-4o mini",
"description": "Small omni GPT for cheap multimodal assistance and production-scale traffic",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-09",
@@ -22301,7 +21236,6 @@
"displayName": "GPT-4o-mini (2024-07-18)",
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-10-31",
@@ -22321,7 +21255,6 @@
"displayName": "GPT-5",
"description": "Original GPT-5 workhorse for reasoning, coding, writing, and tool workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22345,7 +21278,6 @@
"displayName": "GPT-5 Image",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"maxOutputTokens": 128000,
"knowledgeCutoff": "2024-10-01",
@@ -22365,7 +21297,6 @@
"displayName": "GPT-5 Image Mini",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -22384,7 +21315,6 @@
"displayName": "GPT-5 Mini",
"description": "Small GPT-5 for responsive agents, coding help, and everyday automation",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22408,7 +21338,6 @@
"displayName": "GPT-5 Nano",
"description": "Tiny GPT-5 lane for routing, extraction, classification, and bulk jobs",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22432,7 +21361,6 @@
"displayName": "GPT-5 Pro",
"description": "Higher-accuracy GPT-5 tier for tough analysis, coding reviews, and planning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22456,7 +21384,6 @@
"displayName": "GPT-5.1",
"description": "Sharper GPT-5 generation for coding, product work, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22480,7 +21407,6 @@
"displayName": "GPT-5.1 Codex",
"description": "Codex GPT for repository edits, code review, and practical software agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22504,7 +21430,6 @@
"displayName": "GPT-5.1 Codex Max",
"description": "Coding-optimized GPT model for repository edits, reviews, and agentic software work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22528,7 +21453,6 @@
"displayName": "GPT-5.1 Codex mini",
"description": "Coding-optimized GPT model for repository edits, reviews, and agentic software work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22553,7 +21477,6 @@
"displayName": "GPT-5.2",
"description": "Reliable GPT generation for broad coding, writing, and tool-assisted product work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22577,7 +21500,6 @@
"displayName": "GPT-5.2 Chat",
"description": "Chat-tuned GPT model for conversational assistance, writing, and tool workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 32000,
"knowledgeCutoff": "2025-08-31",
@@ -22597,7 +21519,6 @@
"displayName": "GPT-5.2 Codex",
"description": "Code-specialist GPT for repository edits, reviews, and long-running software agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22621,7 +21542,6 @@
"displayName": "GPT-5.2 Pro",
"description": "Higher-accuracy GPT-5.2 variant for tougher reasoning and review workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22645,7 +21565,6 @@
"displayName": "GPT-5.3 Codex",
"description": "Coding-optimized GPT model for repository edits, reviews, and agentic software work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22669,7 +21588,6 @@
"displayName": "GPT-5.4",
"description": "Agent-ready GPT for coding and computer-use workflows at a lower cost",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -22693,7 +21611,6 @@
"displayName": "GPT-5.4 Image 2",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 272000,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -22715,7 +21632,6 @@
"displayName": "GPT-5.4 mini",
"description": "Strong small GPT for coding subagents, quick tool use, and high-volume work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22739,7 +21655,6 @@
"displayName": "GPT-5.4 nano",
"description": "Cheapest GPT-5.4 lane for simple routing, extraction, and bulk automation",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"inputLimit": 272000,
"maxOutputTokens": 128000,
@@ -22763,7 +21678,6 @@
"displayName": "GPT-5.4 Pro",
"description": "More exact GPT-5.4 tier for demanding professional reasoning and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -22787,7 +21701,6 @@
"displayName": "GPT-5.5",
"description": "Default frontier GPT for coding, computer use, research, and knowledge work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -22811,7 +21724,6 @@
"displayName": "GPT-5.5 Pro",
"description": "Highest-accuracy GPT-5.5 tier for slower, precision-heavy reasoning and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -22835,7 +21747,6 @@
"displayName": "GPT-5.6 Luna",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -22859,7 +21770,6 @@
"displayName": "GPT-5.6 Luna Pro",
"description": "Frontier GPT model for professional reasoning, coding, and multimodal work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -22883,7 +21793,6 @@
"displayName": "GPT-5.6 Sol",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -22907,7 +21816,6 @@
"displayName": "GPT-5.6 Sol Pro",
"description": "Frontier GPT model for professional reasoning, coding, and multimodal work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -22931,7 +21839,6 @@
"displayName": "GPT-5.6 Terra",
"description": "GPT model for general reasoning, writing, coding, and tool-assisted tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -22955,7 +21862,6 @@
"displayName": "GPT-5.6 Terra Pro",
"description": "Frontier GPT model for professional reasoning, coding, and multimodal work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1050000,
"inputLimit": 922000,
"maxOutputTokens": 128000,
@@ -22979,7 +21885,6 @@
"displayName": "GPT Audio",
"description": "Speech generation model for controllable voice, narration, and audio delivery",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -22998,7 +21903,6 @@
"displayName": "GPT Audio Mini",
"description": "Speech generation model for controllable voice, narration, and audio delivery",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -23017,7 +21921,6 @@
"displayName": "GPT Chat Latest",
"description": "Chat-tuned GPT model for conversational assistance, writing, and tool workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 400000,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -23036,7 +21939,6 @@
"displayName": "GPT OSS 120B",
"description": "Open GPT reasoning model for self-hosted agents and controllable deployments",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -23058,7 +21960,6 @@
"displayName": "GPT OSS 20B",
"description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -23080,7 +21981,6 @@
"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,
@@ -23103,7 +22003,6 @@
"displayName": "gpt-oss-safeguard-20b",
"description": "Safety model for policy screening, moderation, and risk-aware routing workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -23125,7 +22024,6 @@
"displayName": "o1",
"description": "O-series reasoning model for hard analysis, math, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2023-09",
@@ -23148,7 +22046,6 @@
"displayName": "o1-pro",
"description": "O-series reasoning model for hard analysis, math, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2023-09",
@@ -23168,7 +22065,6 @@
"displayName": "o3",
"description": "Deliberate o-series reasoner for hard math, coding, and multi-step analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2024-05",
@@ -23191,7 +22087,6 @@
"displayName": "o3-mini",
"description": "Smaller o-series reasoner for economical coding, math, and planning tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2024-05",
@@ -23214,7 +22109,6 @@
"displayName": "o3 Mini High",
"description": "O-series reasoning model for hard analysis, math, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2023-10-31",
@@ -23237,7 +22131,6 @@
"displayName": "o3-pro",
"description": "High-effort o3 tier for difficult technical reasoning and careful answers",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2024-05",
@@ -23260,7 +22153,6 @@
"displayName": "o4-mini",
"description": "Fast o-series model for compact reasoning, coding, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2024-05",
@@ -23283,7 +22175,6 @@
"displayName": "o4 Mini High",
"description": "O-series reasoning model for hard analysis, math, coding, and planning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 100000,
"knowledgeCutoff": "2024-06-30",
@@ -23306,7 +22197,6 @@
"displayName": "Auto Router",
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 2000000,
"maxOutputTokens": 2000000,
"structuredOutput": true,
@@ -23325,7 +22215,6 @@
"displayName": "Body Builder (beta)",
"description": "Preview model for early access evaluation, prototyping, and compatibility testing",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"structuredOutput": false,
@@ -23344,7 +22233,6 @@
"displayName": "Free Models Router",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"inputLimit": 200000,
"maxOutputTokens": 8000,
@@ -23365,7 +22253,6 @@
"displayName": "Fusion",
"description": "General-purpose chat model for instruction following, writing, and analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"structuredOutput": false,
@@ -23384,7 +22271,6 @@
"displayName": "Pareto Code Router",
"description": "Coding model for repository understanding, refactors, and agentic engineering tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 2000000,
"maxOutputTokens": 200000,
"structuredOutput": false,
@@ -23403,7 +22289,6 @@
"displayName": "Perceptron Mk1",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 32768,
"maxOutputTokens": 8192,
"structuredOutput": true,
@@ -23422,7 +22307,6 @@
"displayName": "Sonar",
"description": "Sonar search model for current answers, retrieval, and citation-backed chat",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 127072,
"maxOutputTokens": 127072,
"structuredOutput": false,
@@ -23441,7 +22325,6 @@
"displayName": "Sonar Deep Research",
"description": "Sonar search model for current answers, retrieval, and citation-backed chat",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"structuredOutput": false,
@@ -23460,7 +22343,6 @@
"displayName": "Sonar Pro",
"description": "Advanced Sonar search model for deeper research and cited synthesis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 8000,
"structuredOutput": false,
@@ -23479,7 +22361,6 @@
"displayName": "Sonar Pro Search",
"description": "Advanced Sonar search model for deeper research and cited synthesis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 200000,
"maxOutputTokens": 8000,
"structuredOutput": true,
@@ -23498,7 +22379,6 @@
"displayName": "Sonar Reasoning Pro",
"description": "Web-grounded reasoning model for multi-step research and cited answers",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 128000,
"maxOutputTokens": 128000,
"structuredOutput": false,
@@ -23517,7 +22397,6 @@
"displayName": "Laguna S 2.1",
"description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": false,
@@ -23536,7 +22415,6 @@
"displayName": "Laguna S 2.1 (free)",
"description": "Free provider route for experiments, demos, and cost-sensitive chat workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": false,
@@ -23556,7 +22434,6 @@
"displayName": "Laguna XS 2.1",
"description": "Agentic coding model from Poolside in the XS size class for local deployment",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": false,
@@ -23575,7 +22452,6 @@
"displayName": "Laguna XS 2.1 (free)",
"description": "Free provider route for experiments, demos, and cost-sensitive chat workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": false,
@@ -23595,7 +22471,6 @@
"displayName": "Qwen2.5 72B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 32768,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-06-30",
@@ -23615,7 +22490,6 @@
"displayName": "Qwen2.5 7B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 32768,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-06-30",
@@ -23635,7 +22509,6 @@
"displayName": "Qwen2.5 Coder 32B Instruct",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 32768,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-06-30",
@@ -23655,7 +22528,6 @@
"displayName": "Qwen Plus",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-04",
@@ -23675,7 +22547,6 @@
"displayName": "Qwen Plus 0728",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-03-31",
@@ -23695,7 +22566,6 @@
"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",
@@ -23715,7 +22585,6 @@
"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,
"knowledgeCutoff": "2024-06-30",
@@ -23735,7 +22604,6 @@
"displayName": "Qwen3 14B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-03-31",
@@ -23758,7 +22626,6 @@
"displayName": "Qwen3 235B-A22B",
"description": "Large open Qwen MoE for multilingual reasoning, coding, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2025-04",
@@ -23781,7 +22648,6 @@
"displayName": "Qwen3 235B A22B Instruct 2507",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-06-30",
@@ -23801,7 +22667,6 @@
"displayName": "Qwen3 235B A22B Thinking 2507",
"description": "Qwen reasoning model for deliberate problem solving, math, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-06-30",
@@ -23821,7 +22686,6 @@
"displayName": "Qwen3 30B A3B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"structuredOutput": false,
@@ -23843,7 +22707,6 @@
"displayName": "Qwen3 30B A3B Instruct 2507",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32000,
"knowledgeCutoff": "2025-06-30",
@@ -23863,7 +22726,6 @@
"displayName": "Qwen3 30B A3B Thinking 2507",
"description": "Qwen reasoning model for deliberate problem solving, math, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 81920,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-06-30",
@@ -23883,7 +22745,6 @@
"displayName": "Qwen3 32B",
"description": "Dense open Qwen model for self-hosted chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -23906,7 +22767,6 @@
"displayName": "Qwen3 8B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 8192,
"knowledgeCutoff": "2025-03-31",
@@ -23929,7 +22789,6 @@
"displayName": "Qwen3 Coder 480B A35B",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-06-30",
@@ -23949,7 +22808,6 @@
"displayName": "Qwen3-Coder 30B-A3B Instruct",
"description": "Smaller Qwen coder for efficient local agents and repo-level fixes",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-04",
@@ -23969,7 +22827,6 @@
"displayName": "Qwen3 Coder Flash",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -23989,7 +22846,6 @@
"displayName": "Qwen3 Coder Next",
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"knowledgeCutoff": "2025-09",
@@ -24009,7 +22865,6 @@
"displayName": "Qwen3 Coder Plus",
"description": "Hosted Qwen coder for software agents, repo edits, and long-context code",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -24029,7 +22884,6 @@
"displayName": "Qwen3 Max",
"description": "Flagship Qwen3 model for coding agents, complex reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -24049,7 +22903,6 @@
"displayName": "Qwen3 Max Thinking",
"description": "Qwen reasoning model for deliberate problem solving, math, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -24068,7 +22921,6 @@
"displayName": "Qwen3-Next 80B-A3B Instruct",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -24088,7 +22940,6 @@
"displayName": "Qwen3-Next 80B-A3B (Thinking)",
"description": "Efficient Qwen thinking model for local reasoning, math, and coding agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -24108,7 +22959,6 @@
"displayName": "Qwen3 VL 235B A22B Instruct",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-03-31",
@@ -24128,7 +22978,6 @@
"displayName": "Qwen3 VL 235B A22B Thinking",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-03-31",
@@ -24148,7 +22997,6 @@
"displayName": "Qwen3 VL 30B A3B Instruct",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-03-31",
@@ -24168,7 +23016,6 @@
"displayName": "Qwen3 VL 30B A3B Thinking",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-03-31",
@@ -24188,7 +23035,6 @@
"displayName": "Qwen3 VL 32B Instruct",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -24207,7 +23053,6 @@
"displayName": "Qwen3 VL 8B Instruct",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -24226,7 +23071,6 @@
"displayName": "Qwen3 VL 8B Thinking",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"structuredOutput": true,
@@ -24245,7 +23089,6 @@
"displayName": "Qwen3.5 122B-A10B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -24267,7 +23110,6 @@
"displayName": "Qwen3.5 27B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -24289,7 +23131,6 @@
"displayName": "Qwen3.5 35B-A3B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -24311,7 +23152,6 @@
"displayName": "Qwen3.5 397B-A17B",
"description": "Large open Qwen multimodal MoE for visual agents and long technical tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -24333,7 +23173,6 @@
"displayName": "Qwen3.5 9B",
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -24355,7 +23194,6 @@
"displayName": "Qwen3.5-Flash",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -24377,7 +23215,6 @@
"displayName": "Qwen3.5 Plus 2026-02-15",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -24400,7 +23237,6 @@
"displayName": "Qwen3.5 Plus 2026-04-20",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -24422,7 +23258,6 @@
"displayName": "Qwen3.6 27B",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -24444,7 +23279,6 @@
"displayName": "Qwen3.6 35B-A3B",
"description": "Open multimodal Qwen MoE for local agents that need vision, audio, and code",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -24466,7 +23300,6 @@
"displayName": "Qwen3.6 Flash",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -24488,7 +23321,6 @@
"displayName": "Qwen3.6 Max Preview",
"description": "Flagship Qwen model for complex reasoning, coding, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -24511,7 +23343,6 @@
"displayName": "Qwen3.6 Plus",
"description": "Earlier Qwen multimodal workhorse for million-token agent and document tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-04",
@@ -24534,7 +23365,6 @@
"displayName": "Qwen3.7 Flash",
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"inputLimit": 991000,
"maxOutputTokens": 65536,
@@ -24554,7 +23384,6 @@
"displayName": "Qwen3.7 Max",
"description": "Qwen frontier model tuned for agent frameworks, coding assistants, and long tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -24576,7 +23405,6 @@
"displayName": "Qwen3.7 Plus",
"description": "Multimodal Qwen workhorse for long-context agents, visual inputs, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -24599,7 +23427,6 @@
"displayName": "Qwen3.8 2.4T A95B",
"description": "Open-weight sparse MoE (2.4T total, 95B active), the open-weight twin of Qwen3.8 Max for coding, research, complex reasoning, and agentic workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -24621,7 +23448,6 @@
"displayName": "Qwen3.8 27B",
"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,
@@ -24644,7 +23470,6 @@
"displayName": "Qwen3.8 Max",
"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,
@@ -24666,7 +23491,6 @@
"displayName": "Reka Edge",
"description": "Multimodal model for analyzing text, images, documents, and rich media",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 16384,
"maxOutputTokens": 16384,
"structuredOutput": true,
@@ -24685,7 +23509,6 @@
"displayName": "Reka Flash 3",
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 65536,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01-31",
@@ -24705,7 +23528,6 @@
"displayName": "Relace Apply 3",
"description": "General-purpose chat model for instruction following, writing, and analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 256000,
"maxOutputTokens": 128000,
"structuredOutput": false,
@@ -24724,7 +23546,6 @@
"displayName": "Relace Search",
"description": "Tool-capable chat model for instruction following and agentic application workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 256000,
"maxOutputTokens": 128000,
"structuredOutput": false,
@@ -24743,7 +23564,6 @@
"displayName": "Fugu Ultra",
"description": "Quality-first multi-agent model for hard research, analysis, and competitions",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -24765,7 +23585,6 @@
"displayName": "Sakana Namazu",
"description": "Multi-agent model for routing expert agents across complex analytical tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"structuredOutput": true,
@@ -24787,7 +23606,6 @@
"displayName": "Llama 3 8B Lunaris",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 8192,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-12-31",
@@ -24807,7 +23625,6 @@
"displayName": "Llama 3.1 Euryale 70B v2.2",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-12-31",
@@ -24827,7 +23644,6 @@
"displayName": "Llama 3.3 Euryale 70B",
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-12-31",
@@ -24847,7 +23663,6 @@
"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,
@@ -24870,7 +23685,6 @@
"displayName": "Step 3.5 Flash",
"description": "StepFun flash lane for quick multimodal reasoning and coding assistance",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2025-01",
@@ -24890,7 +23704,6 @@
"displayName": "Step 3.7 Flash",
"description": "Newer StepFun flash model for faster agents, coding, and multimodal prompts",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"inputLimit": 256000,
"maxOutputTokens": 256000,
@@ -24914,7 +23727,6 @@
"displayName": "Hunyuan A13B Instruct",
"description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-03-31",
@@ -24934,7 +23746,6 @@
"displayName": "Hy-MT2-1.8B",
"description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 8192,
"maxOutputTokens": 4096,
"structuredOutput": false,
@@ -24953,7 +23764,6 @@
"displayName": "Hy-MT2-30B-A3B",
"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,
@@ -24972,7 +23782,6 @@
"displayName": "Hy3",
"description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -24994,7 +23803,6 @@
"displayName": "Hy3 preview",
"description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": false,
@@ -25016,7 +23824,6 @@
"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": 131072,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2024-04-30",
@@ -25036,7 +23843,6 @@
"displayName": "Rocinante 12B",
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 65536,
"maxOutputTokens": 65536,
"knowledgeCutoff": "2024-04-30",
@@ -25056,7 +23862,6 @@
"displayName": "Skyfall 36B V2",
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 32768,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2024-06-30",
@@ -25076,7 +23881,6 @@
"displayName": "UnslopNemo 12B",
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1024000,
"maxOutputTokens": 1024000,
"knowledgeCutoff": "2024-04-30",
@@ -25096,7 +23900,6 @@
"displayName": "Inkling",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 262144,
"structuredOutput": false,
@@ -25118,7 +23921,6 @@
"displayName": "Inkling Small",
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -25140,7 +23942,6 @@
"displayName": "ReMM SLERP 13B",
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 6144,
"maxOutputTokens": 6144,
"knowledgeCutoff": "2023-06-30",
@@ -25160,7 +23961,6 @@
"displayName": "Solar Pro 3",
"description": "Flagship model for demanding analysis, coding, and production agent workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -25179,7 +23979,6 @@
"displayName": "Solar Pro 4",
"description": "Flagship model for demanding analysis, coding, and production agent workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 524288,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -25198,7 +23997,6 @@
"displayName": "Palmyra X5",
"description": "General-purpose chat model for instruction following, writing, and analysis",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1040000,
"maxOutputTokens": 8192,
"structuredOutput": false,
@@ -25217,7 +24015,6 @@
"displayName": "Grok 4.20",
"description": "Grok model for agentic tool use, reasoning, coding, and live assistance",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 2000000,
"maxOutputTokens": 2000000,
"knowledgeCutoff": "2025-09-01",
@@ -25237,7 +24034,6 @@
"displayName": "Grok 4.20 Multi-Agent",
"description": "Grok model for agentic tool use, reasoning, coding, and live assistance",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 2000000,
"maxOutputTokens": 2000000,
"knowledgeCutoff": "2025-09-01",
@@ -25260,7 +24056,6 @@
"displayName": "Grok 4.3",
"description": "xAI's default Grok for chat, coding, agentic tools, and lower hallucination risk",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1000000,
"maxOutputTokens": 1000000,
"structuredOutput": true,
@@ -25282,7 +24077,6 @@
"displayName": "Grok 4.5",
"description": "xAI's Grok model for chat, coding, agentic tools, and lower hallucination risk",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 500000,
"maxOutputTokens": 500000,
"structuredOutput": true,
@@ -25304,7 +24098,6 @@
"displayName": "Grok 4.6",
"description": "Grok model for agentic tool use, reasoning, coding, and live assistance",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 500000,
"maxOutputTokens": 500000,
"knowledgeCutoff": "2026-02-01",
@@ -25327,7 +24120,6 @@
"displayName": "Grok Build 0.1",
"description": "Fast Grok coding model tuned for agentic engineering and iterative edits",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 256000,
"maxOutputTokens": 256000,
"structuredOutput": true,
@@ -25346,7 +24138,6 @@
"displayName": "MiMo-V2.5",
"description": "Open MiMo model for multimodal coding agents and long-context automation",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1050000,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2024-12",
@@ -25369,7 +24160,6 @@
"displayName": "MiMo-V2.5-Pro",
"description": "Stronger MiMo Pro tier for multimodal reasoning and coding-agent execution",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1050000,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2024-12",
@@ -25392,7 +24182,6 @@
"displayName": "GLM-4.5",
"description": "Hybrid-reasoning GLM release that made the 4.5 line broadly useful",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 98304,
"knowledgeCutoff": "2025-04",
@@ -25415,7 +24204,6 @@
"displayName": "GLM-4.5-Air",
"description": "Lighter GLM-4.5 variant for fast coding assistance and cheaper agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 98304,
"knowledgeCutoff": "2025-04",
@@ -25438,7 +24226,6 @@
"displayName": "GLM-4.5V",
"description": "GLM vision model for visual reasoning, documents, and multimodal agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 65536,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -25461,7 +24248,6 @@
"displayName": "GLM-4.6",
"description": "Late GLM-4 workhorse for coding agents, reasoning, and structured tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -25481,7 +24267,6 @@
"displayName": "GLM-4.6V",
"description": "GLM vision model for visual reasoning, documents, and multimodal agents",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 131072,
"maxOutputTokens": 32768,
"knowledgeCutoff": "2025-04",
@@ -25501,7 +24286,6 @@
"displayName": "GLM-4.7",
"description": "Mature GLM model for dependable coding, reasoning, and structured agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 204800,
"maxOutputTokens": 131072,
"knowledgeCutoff": "2025-04",
@@ -25521,7 +24305,6 @@
"displayName": "GLM-4.7-Flash",
"description": "Budget GLM lane for fast coding help, routing, and everyday automation",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 202752,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
@@ -25541,7 +24324,6 @@
"displayName": "GLM-5",
"description": "General GLM flagship for coding, analysis, and tool-heavy engineering workflows",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 204800,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -25560,7 +24342,6 @@
"displayName": "GLM-5-Turbo",
"description": "Faster GLM-5 lane for coding agents that need lower latency",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 202752,
"maxOutputTokens": 131072,
"structuredOutput": false,
@@ -25579,7 +24360,6 @@
"displayName": "GLM-5.1",
"description": "Strong GLM coding model for agentic engineering, terminals, and repository generation",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 204800,
"maxOutputTokens": 128000,
"structuredOutput": true,
@@ -25598,7 +24378,6 @@
"displayName": "GLM-5.2",
"description": "Open flagship GLM for long-horizon coding agents and million-token context work",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -25621,7 +24400,6 @@
"displayName": "GLM 5.2 (free)",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 256000,
"maxOutputTokens": 256000,
"structuredOutput": true,
@@ -25645,7 +24423,6 @@
"displayName": "GLM-5.3",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 1048576,
"maxOutputTokens": 131072,
"structuredOutput": false,
@@ -25667,7 +24444,6 @@
"displayName": "GLM-5V-Turbo",
"description": "Fast GLM vision model for screenshots, documents, and multimodal agent tasks",
"lifecycle": "active",
- "docsUrl": "https://openrouter.ai/models",
"contextWindow": 202752,
"maxOutputTokens": 131072,
"structuredOutput": false,
@@ -25688,7 +24464,6 @@
"displayName": "baidu/ERNIE-4.5-300B-A47B",
"description": "Tool-capable chat model for instruction following and agentic application workflows",
"lifecycle": "active",
- "docsUrl": "https://cloud.siliconflow.com/models",
"contextWindow": 131000,
"maxOutputTokens": 131000,
"structuredOutput": true,
@@ -25707,7 +24482,6 @@
"displayName": "ByteDance-Seed/Seed-OSS-36B-Instruct",
"description": "Tool-capable chat model for instruction following and agentic application workflows",
"lifecycle": "active",
- "docsUrl": "https://cloud.siliconflow.com/models",
"contextWindow": 262000,
"maxOutputTokens": 262000,
"structuredOutput": true,
@@ -25726,7 +24500,6 @@
"displayName": "deepseek-ai/DeepSeek-R1",
"description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
"lifecycle": "active",
- "docsUrl": "https://cloud.siliconflow.com/models",
"contextWindow": 164000,
"maxOutputTokens": 164000,
"structuredOutput": true,
@@ -25745,7 +24518,6 @@
"displayName": "deepseek-ai/DeepSeek-V3",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://cloud.siliconflow.com/models",
"contextWindow": 164000,
"maxOutputTokens": 164000,
"structuredOutput": true,
@@ -25764,7 +24536,6 @@
"displayName": "deepseek-ai/DeepSeek-V3.1",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://cloud.siliconflow.com/models",
"contextWindow": 164000,
"maxOutputTokens": 164000,
"structuredOutput": true,
@@ -25786,7 +24557,6 @@
"displayName": "deepseek-ai/DeepSeek-V3.1-Terminus",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://cloud.siliconflow.com/models",
"contextWindow": 164000,
"maxOutputTokens": 164000,
"structuredOutput": true,
@@ -25808,7 +24578,6 @@
"displayName": "deepseek-ai/DeepSeek-V3.2",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://cloud.siliconflow.com/models",
"contextWindow": 164000,
"maxOutputTokens": 164000,
"structuredOutput": true,
@@ -25830,7 +24599,6 @@
"displayName": "deepseek-ai/DeepSeek-V3.2-Exp",
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
- "docsUrl": "https://cloud.siliconflow.com/models",
"contextWindow": 164000,
"maxOutputTokens": 164000,
"structuredOutput": true,
@@ -25852,7 +24620,6 @@
"displayName": "DeepSeek V4 Flash",
"description": "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work",
"lifecycle": "active",
- "docsUrl": "https://cloud.siliconflow.com/models",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -25872,7 +24639,6 @@
"displayName": "DeepSeek V4 Pro",
"description": "Open MoE flagship with million-token context for coding and long agent runs",
"lifecycle": "active",
- "docsUrl": "https://cloud.siliconflow.com/models",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
@@ -25892,7 +24658,6 @@
"displayName": "Gemma 4 26B A4B IT",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "docsUrl": "https://cloud.siliconflow.com/models",
"contextWindow": 262144,
"maxOutputTokens": 262144,
"structuredOutput": true,
@@ -25911,7 +24676,6 @@
"displayName": "Gemma 4 31B IT",
"description": "Largest Gemma 4 instruction model for open, self-hosted chat and reasoning",
"lifecycle": "active",
- "docsUrl": "https://cloud.siliconflow.com/models",
... 5095 lines suppressed ...
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
(maka) 04/09: feat(scripts): cap what --accept-upstream-removals may acknowledge
Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
Astro-Han pushed a commit to branch ci/4398-model-metadata-drift-check
in repository https://gitbox.apache.org/repos/asf/maka.git
commit e2b5fcd823cbf8ef6c88911adfaf2a417fde9a3a
Author: AstroHan <le...@outlook.com>
AuthorDate: Tue Sep 1 18:29:31 2026 +0800
feat(scripts): cap what --accept-upstream-removals may acknowledge
The refresh refuses to drop a committed projection path, and
--accept-upstream-removals waives that so a person can acknowledge the
handful of models a provider retired. Nothing bounded the waiver: an
upstream serving a truncated catalog removes paths exactly the same way,
and the flag would wave a gutted snapshot straight into the build input.
Give the acknowledgement a ceiling. Removals past it are an outage, not a
catalog change, and no flag clears them.
This bounds the one hole rather than standing a second size check beside
the guard that already computes the removals.
The required-provider half of the sanity floor already exists: PROVIDERS
is that list, and a provider that is missing or has no models fails the
projection before any of this runs.
Generated-by: Claude Code
---
scripts/sync-model-metadata.mjs | 27 ++++++++++++++------
scripts/sync-model-metadata.test.mjs | 49 ++++++++++++++++++++++++++++++++++++
2 files changed, 68 insertions(+), 8 deletions(-)
diff --git a/scripts/sync-model-metadata.mjs b/scripts/sync-model-metadata.mjs
index 8f820cdf95..b1b74db6b3 100644
--- a/scripts/sync-model-metadata.mjs
+++ b/scripts/sync-model-metadata.mjs
@@ -266,9 +266,9 @@ async function readUpstream(refreshInputPath) {
async function refreshSnapshot(snapshotPath, refreshInputPath, options = {}) {
const { text: sourceText, etag: sourceEtag, retrievedAt } = await readUpstream(refreshInputPath);
const projection = buildProjection(selectCatalog(JSON.parse(sourceText)));
- if (!options.acceptUpstreamRemovals) {
- const previous = await loadSnapshotIfPresent(snapshotPath);
- if (previous) assertProjectionDoesNotShrink(previous.projection, projection);
+ const previous = await loadSnapshotIfPresent(snapshotPath);
+ if (previous) {
+ assertAcceptableRemovals(previous.projection, projection, options.acceptUpstreamRemovals);
}
const projectionText = JSON.stringify(projection);
const snapshot = {
@@ -292,14 +292,25 @@ async function refreshSnapshot(snapshotPath, refreshInputPath, options = {}) {
};
}
-function assertProjectionDoesNotShrink(previous, next) {
+// What --accept-upstream-removals is for: a handful of models the provider
+// retired. An upstream outage serving a truncated catalog removes paths the
+// same way, so the acknowledgement stops here.
+const MAXIMUM_ACKNOWLEDGED_REMOVALS = 100;
+
+function assertAcceptableRemovals(previous, next, acknowledged) {
const removals = [];
collectProjectionRemovals(previous, next, [], removals);
if (removals.length === 0) return;
-
- throw new Error(
- `models.dev refresh would remove committed projection paths: ${removals.sort().join(', ')}; inspect the upstream change and rerun with --accept-upstream-removals to acknowledge it`,
- );
+ if (!acknowledged) {
+ throw new Error(
+ `models.dev refresh would remove committed projection paths: ${removals.sort().join(', ')}; inspect the upstream change and rerun with --accept-upstream-removals to acknowledge it`,
+ );
+ }
+ if (removals.length > MAXIMUM_ACKNOWLEDGED_REMOVALS) {
+ throw new Error(
+ `models.dev refresh would remove ${removals.length} committed projection paths, more than the ${MAXIMUM_ACKNOWLEDGED_REMOVALS} --accept-upstream-removals acknowledges; treat a change this size as an upstream outage`,
+ );
+ }
}
function collectProjectionRemovals(previous, next, path, removals) {
diff --git a/scripts/sync-model-metadata.test.mjs b/scripts/sync-model-metadata.test.mjs
index cf63c04183..eecdf11c5a 100644
--- a/scripts/sync-model-metadata.test.mjs
+++ b/scripts/sync-model-metadata.test.mjs
@@ -485,6 +485,55 @@ test('refresh rejects a partial provider shrink until it is explicitly accepted'
}
});
+test('accepting upstream removals still refuses a truncated catalog', async () => {
+ const root = await mkdtemp(join(tmpdir(), 'maka-model-snapshot-truncated-'));
+ try {
+ const committed = join(root, 'api.json');
+ const outage = join(root, 'outage.json');
+ const snapshot = join(root, 'snapshot.json');
+ const metadata = join(root, 'metadata.ts');
+ const full = fixtureCatalog();
+ for (const provider of Object.values(full)) {
+ const [model] = Object.values(provider.models);
+ if (!model) continue;
+ for (const suffix of ['b', 'c', 'd']) provider.models[`model-${suffix}`] = { ...model };
+ }
+ await writeFile(committed, JSON.stringify(full));
+ await writeFile(outage, JSON.stringify(fixtureCatalog()));
+ await main([
+ 'node',
+ 'sync-model-metadata.mjs',
+ '--refresh',
+ '--refresh-input',
+ committed,
+ '--snapshot',
+ snapshot,
+ '--output',
+ metadata,
+ ]);
+ const committedSnapshot = await readFile(snapshot, 'utf8');
+
+ await assert.rejects(
+ main([
+ 'node',
+ 'sync-model-metadata.mjs',
+ '--refresh',
+ '--accept-upstream-removals',
+ '--refresh-input',
+ outage,
+ '--snapshot',
+ snapshot,
+ '--output',
+ metadata,
+ ]),
+ /more than the 100 --accept-upstream-removals acknowledges/u,
+ );
+ assert.equal(await readFile(snapshot, 'utf8'), committedSnapshot);
+ } finally {
+ await rm(root, { recursive: true, force: true });
+ }
+});
+
test('refresh rejects lost pricing coverage from an otherwise valid model', async () => {
const root = await mkdtemp(join(tmpdir(), 'maka-model-snapshot-pricing-shrink-'));
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
(maka) 06/09: chore(model-metadata): refresh the models.dev snapshot
Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
Astro-Han pushed a commit to branch ci/4398-model-metadata-drift-check
in repository https://gitbox.apache.org/repos/asf/maka.git
commit 28b9414758f71cc7abb886fe6580c908a258302b
Author: AstroHan <le...@outlook.com>
AuthorDate: Tue Sep 1 18:34:03 2026 +0800
chore(model-metadata): refresh the models.dev snapshot
The snapshot was projected from a models.dev response old enough to
predate glm-5.3, and the epoch bump two commits back declared a wire
contract for video and pdf modalities that no committed data used. Both
are the same gap: the machinery around the snapshot is worth nothing
until the snapshot itself is current.
Refreshed against a live models.dev response, which the origin now
records with its etag rather than the migration marker it carried since
the projection moved out of generated output. 1871 models become 1906,
and 324 of them declare the modalities the projector could not represent
until this branch.
Ran with --accept-upstream-removals for 31 models models.dev has retired.
The two that a reader will look for, deepseek-chat and deepseek-reasoner,
stay selectable: provider-registry lists them under fallbackModels and
builtin-pricing carries their rates, so only the bundled display metadata
goes.
133 models now declare an output modality without text. model-catalog
already refuses those as chat defaults and documented why it could not
see the video ones; it can now.
Three runtime assertions move with the catalog they read. MiniMax-M3's
wire output limit is 512k upstream, not 128k. Tencent Token Plan's hy3
now documents `none` and `high` where it listed low/medium/high, so the
exposed variants become off/high and `off` names the provider's own
no-reasoning value instead of dropping the knob — the same shape the
Vercel case in that file already asserts.
Generated-by: Claude Code
---
packages/core/src/__tests__/model-catalog.test.ts | 23 +-
.../computer-use-provider-protocol.test.ts | 2 +-
.../src/__tests__/model-factory-thinking.test.ts | 11 +-
.../model-metadata/models-dev-api.snapshot.json | 3684 +++++++++++++-------
4 files changed, 2357 insertions(+), 1363 deletions(-)
diff --git a/packages/core/src/__tests__/model-catalog.test.ts b/packages/core/src/__tests__/model-catalog.test.ts
index afb0fff804..b6a6d7574a 100644
--- a/packages/core/src/__tests__/model-catalog.test.ts
+++ b/packages/core/src/__tests__/model-catalog.test.ts
@@ -112,19 +112,28 @@ test('a declared output modality without text rules a model out of chat', () =>
modelSource: 'fetched' as const,
};
assert.deepEqual(verdict(audioOnly), { ok: false });
-});
-test('an empty output modality list is not evidence against chat', () => {
- // `modalities.output` is typed to text, image, and audio, so a video model's
- // real output has no representation and serializes as `[]` — the same shape
- // a generator bug would produce. Blocking on it would be guessing.
- const video = {
+ // Video-only says exactly what the other two say. It could not be read at
+ // all until `modalities.output` could carry the value.
+ const videoOnly = {
providerType: 'google' as const,
defaultModel: 'gemini-omni-flash-preview',
models: [{ id: 'gemini-omni-flash-preview' }],
modelSource: 'fetched' as const,
};
- assert.deepEqual(verdict(video), { ok: true });
+ assert.deepEqual(verdict(videoOnly), { ok: false });
+});
+
+test('an empty output modality list is not evidence against chat', () => {
+ // A provider that declared no output modality and a generator bug that
+ // dropped them produce the same shape. Blocking on it would be guessing.
+ const undeclared = {
+ providerType: 'openai-compatible' as const,
+ defaultModel: 'relay-quiet',
+ models: [{ id: 'relay-quiet', modalities: { input: ['text' as const], output: [] } }],
+ modelSource: 'fetched' as const,
+ };
+ assert.deepEqual(verdict(undeclared), { ok: true });
});
test('an explicit chat capability outranks the declared output modality', () => {
diff --git a/packages/runtime/src/__tests__/computer-use-provider-protocol.test.ts b/packages/runtime/src/__tests__/computer-use-provider-protocol.test.ts
index 70ae04705d..8923a1e74b 100644
--- a/packages/runtime/src/__tests__/computer-use-provider-protocol.test.ts
+++ b/packages/runtime/src/__tests__/computer-use-provider-protocol.test.ts
@@ -199,7 +199,7 @@ describe('Anthropic-compatible Computer Use product loops', () => {
auth: 'x-api-key',
expectedAuth: 'test-key',
expectedThinking: undefined,
- expectedWireOutputLimit: 128_000,
+ expectedWireOutputLimit: 512_000,
apiProtocol: undefined,
},
{
diff --git a/packages/runtime/src/__tests__/model-factory-thinking.test.ts b/packages/runtime/src/__tests__/model-factory-thinking.test.ts
index 6a33ad80f2..4762c2d72c 100644
--- a/packages/runtime/src/__tests__/model-factory-thinking.test.ts
+++ b/packages/runtime/src/__tests__/model-factory-thinking.test.ts
@@ -684,14 +684,15 @@ describe('buildProviderOptions: thinking level', () => {
});
test('Tencent Token Plan sends its documented reasoning effort under the stable provider namespace', () => {
- assert.deepEqual(
- [...thinkingVariantsForModel('tencent-token-plan', 'hy3')],
- ['low', 'medium', 'high'],
- );
+ assert.deepEqual([...thinkingVariantsForModel('tencent-token-plan', 'hy3')], ['off', 'high']);
assert.deepEqual(buildProviderOptions(conn('tencent-token-plan'), 'hy3', 'high'), {
tencentTokenPlan: { reasoningEffort: 'high' },
});
- assert.deepEqual(buildProviderOptions(conn('tencent-token-plan'), 'hy3', 'off'), {});
+ // The plan documents an explicit no-reasoning value, so off names it rather
+ // than dropping the knob and leaving the provider to pick.
+ assert.deepEqual(buildProviderOptions(conn('tencent-token-plan'), 'hy3', 'off'), {
+ tencentTokenPlan: { reasoningEffort: 'none' },
+ });
});
test('Vercel Gateway sends reasoning effort under its stable namespace and exact model id', () => {
diff --git a/scripts/model-metadata/models-dev-api.snapshot.json b/scripts/model-metadata/models-dev-api.snapshot.json
index 9f81accaa3..c7c5161db3 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-01T10:29:38.000Z",
+ "etag": "W/\"7559b5b3701539769901f1e20e89315d\"",
+ "responseSha256": "7559b5b3701539769901f1e20e89315d94975a7b289646590d6f854a21e12f17"
},
- "projectionSha256": "ed57286d0b96112574c227b5a327bfa5bbd572233b0bf2a27fe41e00d511beee",
+ "projectionSha256": "85b25f334b65929079ea6dab9b0a2a66f433e3d66710fcd1aadff5f611b37345",
"projection": {
"metadata": {
"anthropic": {
@@ -436,7 +438,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text", "audio"]
}
},
@@ -658,7 +660,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text", "audio"]
}
},
@@ -886,7 +888,7 @@
"functionCalling": false
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text", "audio"]
}
},
@@ -961,7 +963,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text", "audio"]
}
},
@@ -979,7 +981,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text", "audio"]
}
},
@@ -1057,7 +1059,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text"]
}
},
@@ -1078,7 +1080,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text"]
}
},
@@ -1099,7 +1101,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text"]
}
},
@@ -1120,7 +1122,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text"]
}
},
@@ -1141,7 +1143,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -1162,7 +1164,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text"]
}
},
@@ -1183,7 +1185,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text"]
}
},
@@ -1204,7 +1206,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -1246,7 +1248,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -1287,7 +1289,29 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ }
+ },
+ "qwen3.8-flash": {
+ "displayName": "Qwen3.8 Flash",
+ "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
+ "lifecycle": "active",
+ "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", "video"],
"output": ["text"]
}
},
@@ -1309,7 +1333,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "pdf"],
+ "input": ["text", "image", "video", "pdf"],
"output": ["text"]
}
},
@@ -1391,6 +1415,7 @@
"contextWindow": 32768,
"maxOutputTokens": 16384,
"lastUpdated": "2025-01-01",
+ "isFree": true,
"capabilities": {
"vision": false,
"reasoning": true,
@@ -1408,6 +1433,7 @@
"contextWindow": 32768,
"maxOutputTokens": 16384,
"lastUpdated": "2025-01-01",
+ "isFree": true,
"capabilities": {
"vision": false,
"reasoning": true,
@@ -1661,7 +1687,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -1683,7 +1709,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -1705,7 +1731,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -1958,7 +1984,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text", "audio"]
}
},
@@ -2252,7 +2278,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text", "audio"]
}
},
@@ -2537,7 +2563,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text", "audio"]
}
},
@@ -2633,7 +2659,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -2655,7 +2681,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -2676,7 +2702,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -2697,7 +2723,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -2739,7 +2765,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -2761,7 +2787,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -2802,7 +2828,29 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ }
+ },
+ "qwen3.8-flash": {
+ "displayName": "Qwen3.8 Flash",
+ "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
+ "lifecycle": "active",
+ "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", "video"],
"output": ["text"]
}
},
@@ -2824,7 +2872,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "pdf"],
+ "input": ["text", "image", "video", "pdf"],
"output": ["text"]
}
},
@@ -3141,7 +3189,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -3163,7 +3211,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -3205,7 +3253,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
}
@@ -3272,7 +3320,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -3370,7 +3418,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -3391,7 +3439,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -3413,7 +3461,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -3455,7 +3503,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
}
@@ -3563,7 +3611,7 @@
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"structuredOutput": true,
- "lastUpdated": "2026-08-12",
+ "lastUpdated": "2026-08-22",
"isFree": true,
"capabilities": {
"vision": false,
@@ -3660,7 +3708,7 @@
},
"modalities": {
"input": ["image", "text"],
- "output": []
+ "output": ["video"]
}
},
"happyhorse-1.1-r2v": {
@@ -3678,7 +3726,7 @@
},
"modalities": {
"input": ["image", "text"],
- "output": []
+ "output": ["video"]
}
},
"happyhorse-1.1-t2v": {
@@ -3696,7 +3744,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"kimi-k2.5": {
@@ -3718,7 +3766,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -3741,7 +3789,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -3764,7 +3812,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -3841,7 +3889,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -3864,7 +3912,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -3909,7 +3957,30 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ }
+ },
+ "qwen3.8-flash": {
+ "displayName": "Qwen3.8 Flash",
+ "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
+ "lifecycle": "active",
+ "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", "video"],
"output": ["text"]
}
},
@@ -3932,7 +4003,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "pdf"],
+ "input": ["text", "image", "video", "pdf"],
"output": ["text"]
}
},
@@ -3954,7 +4025,7 @@
"efforts": ["low", "medium", "xhigh"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -4098,7 +4169,7 @@
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"structuredOutput": true,
- "lastUpdated": "2026-08-12",
+ "lastUpdated": "2026-08-22",
"isFree": true,
"capabilities": {
"vision": false,
@@ -4195,7 +4266,7 @@
},
"modalities": {
"input": ["image", "text"],
- "output": []
+ "output": ["video"]
}
},
"happyhorse-1.1-r2v": {
@@ -4213,7 +4284,7 @@
},
"modalities": {
"input": ["image", "text"],
- "output": []
+ "output": ["video"]
}
},
"happyhorse-1.1-t2v": {
@@ -4231,7 +4302,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"kimi-k2.5": {
@@ -4253,7 +4324,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -4276,7 +4347,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -4299,7 +4370,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -4376,7 +4447,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -4399,7 +4470,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -4444,7 +4515,30 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ }
+ },
+ "qwen3.8-flash": {
+ "displayName": "Qwen3.8 Flash",
+ "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
+ "lifecycle": "active",
+ "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", "video"],
"output": ["text"]
}
},
@@ -4467,7 +4561,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "pdf"],
+ "input": ["text", "image", "video", "pdf"],
"output": ["text"]
}
},
@@ -4489,7 +4583,7 @@
"efforts": ["low", "medium", "xhigh"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -4904,7 +4998,7 @@
"contextWindow": 1048576,
"maxOutputTokens": 1048576,
"structuredOutput": true,
- "lastUpdated": "2026-08-12",
+ "lastUpdated": "2026-08-22",
"capabilities": {
"vision": false,
"reasoning": true,
@@ -5338,6 +5432,46 @@
"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",
+ "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",
+ "contextWindow": 1310720,
+ "maxOutputTokens": 1048576,
+ "structuredOutput": true,
+ "lastUpdated": "2026-08-26",
+ "capabilities": {
+ "vision": true,
+ "reasoning": true,
+ "functionCalling": true
+ },
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ }
}
},
"deepinfra": {
@@ -5571,7 +5705,7 @@
"contextWindow": 1048576,
"maxOutputTokens": 384000,
"structuredOutput": true,
- "lastUpdated": "2026-08-12",
+ "lastUpdated": "2026-08-22",
"capabilities": {
"vision": false,
"reasoning": true,
@@ -5624,7 +5758,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -5743,7 +5877,7 @@
"description": "MiniMax multimodal model for long-context coding, perception, and agent planning",
"lifecycle": "active",
"contextWindow": 524288,
- "maxOutputTokens": 128000,
+ "maxOutputTokens": 512000,
"structuredOutput": true,
"lastUpdated": "2026-06-01",
"capabilities": {
@@ -5752,7 +5886,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -5774,7 +5908,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -5796,7 +5930,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -5818,7 +5952,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -5895,7 +6029,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text"]
}
},
@@ -6086,7 +6220,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text"]
}
},
@@ -6104,7 +6238,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text"]
}
},
@@ -6123,7 +6257,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -6142,7 +6276,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -6160,7 +6294,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -6178,7 +6312,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text"]
}
},
@@ -6196,7 +6330,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -6275,7 +6409,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "pdf"],
+ "input": ["text", "image", "video", "pdf"],
"output": ["text"]
}
},
@@ -6293,7 +6427,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -6368,7 +6502,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text"]
}
},
@@ -6522,117 +6656,53 @@
"input": ["text"],
"output": ["text"]
}
- }
- },
- "deepseek": {
- "deepseek-chat": {
- "displayName": "DeepSeek Chat",
- "description": "DeepSeek chat model for instruction following, coding, and analysis",
- "lifecycle": "active",
- "contextWindow": 1000000,
- "maxOutputTokens": 384000,
- "knowledgeCutoff": "2025-09",
- "lastUpdated": "2026-02-28",
- "capabilities": {
- "vision": false,
- "reasoning": false,
- "functionCalling": true
- },
- "modalities": {
- "input": ["text"],
- "output": ["text"]
- }
- },
- "deepseek-reasoner": {
- "displayName": "DeepSeek Reasoner",
- "description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
- "lifecycle": "active",
- "contextWindow": 1000000,
- "maxOutputTokens": 384000,
- "knowledgeCutoff": "2025-09",
- "lastUpdated": "2026-02-28",
- "capabilities": {
- "vision": false,
- "reasoning": true,
- "functionCalling": true
- },
- "modalities": {
- "input": ["text"],
- "output": ["text"]
- }
},
- "deepseek-v4-flash": {
- "displayName": "DeepSeek V4 Flash",
- "description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
+ "zai-org/GLM-5.3": {
+ "displayName": "GLM-5.3",
+ "description": "Flagship GLM model for long-horizon coding, agents, and complex project delivery",
"lifecycle": "active",
- "contextWindow": 1000000,
- "maxOutputTokens": 384000,
- "knowledgeCutoff": "2025-05",
+ "contextWindow": 1048576,
+ "maxOutputTokens": 131072,
"structuredOutput": true,
- "lastUpdated": "2026-07-31",
+ "lastUpdated": "2026-08-14",
"capabilities": {
"vision": false,
"reasoning": true,
"functionCalling": true
},
"thinkingOptions": {
- "efforts": ["low", "high", "max"],
- "toggle": true
+ "efforts": ["low", "high", "max"]
},
"modalities": {
"input": ["text"],
"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",
+ "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",
- "contextWindow": 1000000,
- "maxOutputTokens": 384000,
+ "contextWindow": 1048576,
+ "maxOutputTokens": 131072,
"structuredOutput": true,
- "lastUpdated": "2026-08-12",
+ "lastUpdated": "2026-08-26",
"capabilities": {
- "vision": false,
+ "vision": true,
"reasoning": true,
"functionCalling": true
},
"thinkingOptions": {
- "efforts": ["high", "max"],
- "toggle": true
+ "efforts": ["low", "high", "max"]
},
"modalities": {
- "input": ["text"],
+ "input": ["text", "image", "video", "pdf"],
"output": ["text"]
}
}
},
- "fireworks-ai": {
- "accounts/fireworks/models/deepseek-v4-flash": {
+ "deepseek": {
+ "deepseek-v4-flash": {
"displayName": "DeepSeek V4 Flash",
- "description": "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work",
- "lifecycle": "active",
- "contextWindow": 1000000,
- "maxOutputTokens": 384000,
- "knowledgeCutoff": "2025-05",
- "structuredOutput": true,
- "lastUpdated": "2026-06-16",
- "capabilities": {
- "vision": false,
- "reasoning": true,
- "functionCalling": true
- },
- "thinkingOptions": {
- "efforts": ["high", "max"],
- "toggle": true
- },
- "modalities": {
- "input": ["text"],
- "output": ["text"]
- }
- },
- "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",
"lifecycle": "active",
"contextWindow": 1000000,
@@ -6654,15 +6724,36 @@
"output": ["text"]
}
},
- "accounts/fireworks/models/deepseek-v4-pro": {
+ "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",
+ "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",
- "description": "Open MoE flagship with million-token context for coding and long agent runs",
+ "description": "DeepSeek V4 Pro snapshot with million-token context and support for thinking and non-thinking modes",
"lifecycle": "active",
"contextWindow": 1000000,
"maxOutputTokens": 384000,
- "knowledgeCutoff": "2025-05",
"structuredOutput": true,
- "lastUpdated": "2026-04-24",
+ "lastUpdated": "2026-08-22",
"capabilities": {
"vision": false,
"reasoning": true,
@@ -6676,6 +6767,31 @@
"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",
+ "lifecycle": "active",
+ "contextWindow": 1000000,
+ "maxOutputTokens": 384000,
+ "knowledgeCutoff": "2025-05",
+ "structuredOutput": true,
+ "lastUpdated": "2026-07-31",
+ "capabilities": {
+ "vision": false,
+ "reasoning": true,
+ "functionCalling": true
+ },
+ "thinkingOptions": {
+ "efforts": ["low", "high", "max"],
+ "toggle": true
+ },
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ }
},
"accounts/fireworks/models/deepseek-v4-pro-0813": {
"displayName": "DeepSeek V4 Pro 0813",
@@ -6684,7 +6800,7 @@
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"structuredOutput": true,
- "lastUpdated": "2026-08-12",
+ "lastUpdated": "2026-08-22",
"capabilities": {
"vision": false,
"reasoning": true,
@@ -6720,33 +6836,55 @@
"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": {
+ "displayName": "GLM 5.3",
+ "description": "Flagship GLM model for long-horizon coding, agents, and complex project delivery",
"lifecycle": "active",
- "contextWindow": 131072,
- "maxOutputTokens": 32768,
- "lastUpdated": "2026-06-16",
+ "contextWindow": 1000000,
+ "maxOutputTokens": 131072,
+ "structuredOutput": true,
+ "lastUpdated": "2026-08-28",
"capabilities": {
"vision": false,
"reasoning": true,
"functionCalling": true
},
"thinkingOptions": {
- "efforts": ["low", "medium", "high"]
+ "efforts": ["high", "max"]
},
"modalities": {
"input": ["text"],
"output": ["text"]
}
},
- "accounts/fireworks/models/gpt-oss-20b": {
- "displayName": "GPT OSS 20B",
+ "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",
+ "contextWindow": 1000000,
+ "maxOutputTokens": 131072,
+ "structuredOutput": true,
+ "lastUpdated": "2026-08-26",
+ "capabilities": {
+ "vision": true,
+ "reasoning": true,
+ "functionCalling": true
+ },
+ "thinkingOptions": {
+ "efforts": ["high", "max"]
+ },
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "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",
"lifecycle": "active",
"contextWindow": 131072,
"maxOutputTokens": 32768,
- "lastUpdated": "2025-08-05",
+ "lastUpdated": "2026-06-16",
"capabilities": {
"vision": false,
"reasoning": true,
@@ -6839,26 +6977,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",
- "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",
@@ -6875,7 +6993,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -7004,66 +7122,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",
- "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",
- "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",
- "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",
@@ -7336,7 +7394,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -7359,7 +7417,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -7820,7 +7878,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text", "image"]
}
},
@@ -7838,7 +7896,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text", "image"]
}
},
@@ -7878,7 +7936,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "audio", "video", "pdf"],
"output": ["text"]
}
},
@@ -7918,7 +7976,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "audio", "video", "pdf"],
"output": ["text"]
}
},
@@ -7955,7 +8013,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "audio", "video", "pdf"],
"output": ["text"]
}
},
@@ -7995,7 +8053,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -8055,7 +8113,7 @@
"efforts": ["minimal", "high"]
},
"modalities": {
- "input": ["text", "image", "pdf"],
+ "input": ["text", "image", "video", "pdf"],
"output": ["text", "image"]
}
},
@@ -8098,7 +8156,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -8142,7 +8200,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -8164,7 +8222,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text", "audio"]
}
},
@@ -8204,7 +8262,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -8226,7 +8284,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -8248,7 +8306,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -8270,7 +8328,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -8310,7 +8368,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -8332,7 +8390,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -8368,7 +8426,7 @@
"functionCalling": false
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "audio", "video", "pdf"],
"output": ["text"]
}
},
@@ -8390,7 +8448,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -8412,7 +8470,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -8429,30 +8487,8 @@
"functionCalling": false
},
"modalities": {
- "input": ["text", "image"],
- "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",
- "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"]
+ "input": ["text", "image", "video"],
+ "output": ["video"]
}
},
"gemma-4-26b-a4b-it": {
@@ -8548,8 +8584,8 @@
"functionCalling": false
},
"modalities": {
- "input": ["text", "image"],
- "output": []
+ "input": ["text", "image", "video"],
+ "output": ["video"]
}
},
"veo-3.1-generate-preview": {
@@ -8566,7 +8602,7 @@
},
"modalities": {
"input": ["text", "image"],
- "output": []
+ "output": ["video"]
}
},
"veo-3.1-lite-generate-preview": {
@@ -8583,7 +8619,7 @@
},
"modalities": {
"input": ["text", "image"],
- "output": []
+ "output": ["video"]
}
}
},
@@ -8828,6 +8864,27 @@
"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",
+ "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",
@@ -9043,7 +9100,7 @@
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"structuredOutput": true,
- "lastUpdated": "2026-08-12",
+ "lastUpdated": "2026-08-22",
"capabilities": {
"vision": false,
"reasoning": true,
@@ -9136,7 +9193,7 @@
"description": "Efficient open MiniMax model built for coding agents and tool-heavy workflows",
"lifecycle": "active",
"contextWindow": 204800,
- "maxOutputTokens": 128000,
+ "maxOutputTokens": 131072,
"lastUpdated": "2025-10-27",
"capabilities": {
"vision": false,
@@ -9206,7 +9263,7 @@
"description": "MiniMax multimodal model for long-context coding, perception, and agent planning",
"lifecycle": "active",
"contextWindow": 524288,
- "maxOutputTokens": 128000,
+ "maxOutputTokens": 512000,
"structuredOutput": true,
"lastUpdated": "2026-06-01",
"capabilities": {
@@ -9287,7 +9344,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -9305,7 +9362,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -9819,6 +9876,27 @@
"output": ["text"]
}
},
+ "Qwen/Qwen3.8-27B": {
+ "displayName": "Qwen3.8 27B",
+ "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
+ "lifecycle": "active",
+ "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",
@@ -9854,7 +9932,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -10161,6 +10239,48 @@
"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",
+ "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",
+ "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": {
@@ -10183,7 +10303,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -10225,7 +10345,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -10245,7 +10365,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
}
@@ -10255,8 +10375,8 @@
"displayName": "MiniMax-M2",
"description": "Efficient open MiniMax model built for coding agents and tool-heavy workflows",
"lifecycle": "active",
- "contextWindow": 196608,
- "maxOutputTokens": 128000,
+ "contextWindow": 204800,
+ "maxOutputTokens": 131072,
"lastUpdated": "2025-10-27",
"capabilities": {
"vision": false,
@@ -10357,8 +10477,8 @@
"displayName": "MiniMax-M3",
"description": "MiniMax multimodal model for long-context coding, perception, and agent planning",
"lifecycle": "active",
- "contextWindow": 1000000,
- "maxOutputTokens": 128000,
+ "contextWindow": 1048576,
+ "maxOutputTokens": 512000,
"lastUpdated": "2026-06-25",
"capabilities": {
"vision": true,
@@ -10369,7 +10489,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
}
@@ -10379,8 +10499,8 @@
"displayName": "MiniMax-M2",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "contextWindow": 196608,
- "maxOutputTokens": 128000,
+ "contextWindow": 204800,
+ "maxOutputTokens": 131072,
"lastUpdated": "2025-10-27",
"capabilities": {
"vision": false,
@@ -10481,8 +10601,8 @@
"displayName": "MiniMax-M3",
"description": "MiniMax multimodal coding model for long-context reasoning and agent tasks",
"lifecycle": "active",
- "contextWindow": 1000000,
- "maxOutputTokens": 128000,
+ "contextWindow": 1048576,
+ "maxOutputTokens": 512000,
"lastUpdated": "2026-06-25",
"capabilities": {
"vision": true,
@@ -10493,7 +10613,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
}
@@ -10503,8 +10623,8 @@
"displayName": "MiniMax-M2",
"description": "MiniMax model for chat, coding, office work, and agentic tasks",
"lifecycle": "active",
- "contextWindow": 196608,
- "maxOutputTokens": 128000,
+ "contextWindow": 204800,
+ "maxOutputTokens": 131072,
"lastUpdated": "2025-10-27",
"isFree": true,
"capabilities": {
@@ -10611,8 +10731,8 @@
"displayName": "MiniMax-M3",
"description": "MiniMax multimodal coding model for long-context reasoning and agent tasks",
"lifecycle": "active",
- "contextWindow": 1000000,
- "maxOutputTokens": 128000,
+ "contextWindow": 1048576,
+ "maxOutputTokens": 512000,
"lastUpdated": "2026-06-25",
"isFree": true,
"capabilities": {
@@ -10624,7 +10744,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
}
@@ -11232,6 +11352,27 @@
"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",
+ "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": {
@@ -11343,7 +11484,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -11365,7 +11506,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -11384,7 +11525,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -11403,7 +11544,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -11425,7 +11566,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
}
@@ -11585,6 +11726,29 @@
"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",
+ "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",
@@ -11607,6 +11771,28 @@
"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",
+ "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",
@@ -11720,7 +11906,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -12048,7 +12234,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -12285,7 +12471,30 @@
"efforts": ["none", "minimal", "low", "medium", "high", "xhigh", "max"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
+ "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",
+ "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", "video"],
"output": ["text"]
}
},
@@ -12303,7 +12512,7 @@
"functionCalling": false
},
"modalities": {
- "input": [],
+ "input": ["video"],
"output": ["text"]
}
},
@@ -12321,7 +12530,7 @@
"functionCalling": false
},
"modalities": {
- "input": [],
+ "input": ["video"],
"output": ["text"]
}
},
@@ -12339,8 +12548,8 @@
"functionCalling": false
},
"modalities": {
- "input": ["text", "image"],
- "output": []
+ "input": ["text", "image", "video"],
+ "output": ["video"]
}
},
"nvidia/cosmos-reason2-8b": {
@@ -12357,7 +12566,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -12375,8 +12584,8 @@
"functionCalling": false
},
"modalities": {
- "input": ["text", "image"],
- "output": []
+ "input": ["text", "image", "video"],
+ "output": ["video"]
}
},
"nvidia/cosmos-transfer2_5-2b": {
@@ -12393,8 +12602,8 @@
"functionCalling": false
},
"modalities": {
- "input": ["text", "image"],
- "output": []
+ "input": ["text", "image", "video"],
+ "output": ["video"]
}
},
"nvidia/gliner-pii": {
@@ -12683,7 +12892,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text"]
}
},
@@ -12801,7 +13010,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -12931,7 +13140,7 @@
"functionCalling": false
},
"modalities": {
- "input": [],
+ "input": ["video"],
"output": ["text"]
}
},
@@ -12949,7 +13158,7 @@
"functionCalling": false
},
"modalities": {
- "input": [],
+ "input": ["video"],
"output": ["text"]
}
},
@@ -12985,7 +13194,7 @@
"functionCalling": false
},
"modalities": {
- "input": [],
+ "input": ["video"],
"output": ["text"]
}
},
@@ -13221,7 +13430,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text"]
}
},
@@ -13495,6 +13704,48 @@
"output": ["text"]
}
},
+ "glm-5.3": {
+ "displayName": "GLM-5.3",
+ "description": "Flagship GLM model for long-horizon coding, agents, and complex project delivery",
+ "lifecycle": "active",
+ "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",
+ "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", "video", "pdf"],
+ "output": ["text"]
+ }
+ },
"gpt-oss:120b": {
"displayName": "gpt-oss:120b",
"description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads",
@@ -13675,7 +13926,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -15132,7 +15383,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -15154,7 +15405,7 @@
"efforts": ["low", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -15176,7 +15427,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -15198,7 +15449,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -15220,7 +15471,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -15242,7 +15493,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -15264,7 +15515,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -15959,7 +16210,7 @@
"hy3-free": {
"displayName": "Hy3 Free",
"description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks",
- "lifecycle": "active",
+ "lifecycle": "deprecated",
"contextWindow": 190000,
"maxOutputTokens": 64000,
"structuredOutput": true,
@@ -16051,7 +16302,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -16073,7 +16324,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -16094,7 +16345,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -16113,7 +16364,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -16134,7 +16385,7 @@
"efforts": ["max"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -16179,6 +16430,28 @@
"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",
+ "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",
@@ -16313,7 +16586,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text"]
}
},
@@ -16422,7 +16695,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -16444,7 +16717,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -16465,7 +16738,7 @@
"efforts": ["minimal", "low", "medium", "high", "xhigh"]
},
"modalities": {
- "input": ["text", "image", "pdf", "audio"],
+ "input": ["text", "image", "video", "pdf", "audio"],
"output": ["text"]
}
},
@@ -16487,7 +16760,7 @@
"efforts": ["minimal", "low", "medium", "high", "xhigh"]
},
"modalities": {
- "input": ["text", "image", "pdf", "audio"],
+ "input": ["text", "image", "video", "pdf", "audio"],
"output": ["text"]
}
},
@@ -16606,7 +16879,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -16627,7 +16900,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -16649,7 +16922,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -16694,7 +16967,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",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -16709,7 +16982,7 @@
"efforts": ["low", "high", "max"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
}
@@ -16737,6 +17010,28 @@
"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",
+ "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",
@@ -16837,6 +17132,27 @@
"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",
+ "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", "video", "pdf"],
+ "output": ["text"]
+ }
+ },
"gpt-5.6-luna": {
"displayName": "GPT-5.6 Luna",
"description": "Cost-efficient GPT-5.6 model for fast, high-volume workloads",
@@ -16863,7 +17179,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",
"contextWindow": 500000,
"maxOutputTokens": 500000,
"structuredOutput": true,
@@ -16881,8 +17197,30 @@
"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",
+ "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",
"contextWindow": 256000,
@@ -16901,6 +17239,26 @@
"output": ["text"]
}
},
+ "hy4-preview": {
+ "displayName": "Hy4 preview",
+ "description": "A next-generation productivity model with significantly enhanced Agent and complex task execution capabilities.",
+ "lifecycle": "active",
+ "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",
@@ -16915,7 +17273,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -16933,7 +17291,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -16952,7 +17310,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -16973,7 +17331,27 @@
"efforts": ["max"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
+ "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",
+ "contextWindow": 1000000,
+ "maxOutputTokens": 131072,
+ "lastUpdated": "2026-06-30",
+ "capabilities": {
+ "vision": false,
+ "reasoning": true,
+ "functionCalling": true
+ },
+ "thinkingOptions": {
+ "toggle": true
+ },
+ "modalities": {
+ "input": ["text"],
"output": ["text"]
}
},
@@ -17027,7 +17405,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text"]
}
},
@@ -17102,7 +17480,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -17123,14 +17501,14 @@
"efforts": ["minimal", "low", "medium", "high", "xhigh"]
},
"modalities": {
- "input": ["text", "image", "pdf", "audio"],
+ "input": ["text", "image", "video", "pdf", "audio"],
"output": ["text"]
}
},
"ox-alpha-free": {
"displayName": "Ox Alpha Free (Unlimited)",
"description": "Stealth reasoning model for coding, agentic tasks, and tool use",
- "lifecycle": "active",
+ "lifecycle": "deprecated",
"contextWindow": 1000000,
"maxOutputTokens": 131072,
"structuredOutput": true,
@@ -17145,7 +17523,7 @@
"efforts": ["low", "high", "max"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -17166,7 +17544,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -17187,7 +17565,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -17227,7 +17605,29 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ }
+ },
+ "qwen3.8-flash": {
+ "displayName": "Qwen3.8 Flash",
+ "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
+ "lifecycle": "active",
+ "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", "video"],
"output": ["text"]
}
},
@@ -17245,10 +17645,11 @@
"functionCalling": true
},
"thinkingOptions": {
+ "efforts": ["low", "medium", "xhigh"],
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
}
@@ -17346,7 +17747,7 @@
"description": "Fast DeepSeek model for efficient chat, coding help, and agent loops",
"lifecycle": "active",
"contextWindow": 1310720,
- "maxOutputTokens": 1048576,
+ "maxOutputTokens": 393216,
"structuredOutput": true,
"lastUpdated": "2026-08-01",
"capabilities": {
@@ -17381,7 +17782,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "pdf", "audio"],
+ "input": ["text", "image", "video", "pdf", "audio"],
"output": ["text"]
}
},
@@ -17403,7 +17804,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["audio", "pdf", "image", "text"],
+ "input": ["audio", "pdf", "image", "text", "video"],
"output": ["text"]
}
},
@@ -17412,7 +17813,7 @@
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
"contextWindow": 1048576,
- "maxOutputTokens": 974842,
+ "maxOutputTokens": 943718,
"structuredOutput": true,
"lastUpdated": "2026-04-27",
"capabilities": {
@@ -17425,7 +17826,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -17478,7 +17879,7 @@
"description": "Grok model for agentic tool use, reasoning, coding, and live assistance",
"lifecycle": "active",
"contextWindow": 500000,
- "maxOutputTokens": 1000000,
+ "maxOutputTokens": 450000,
"structuredOutput": true,
"lastUpdated": "2026-07-08",
"capabilities": {
@@ -17498,9 +17899,9 @@
"displayName": "GLM Latest",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "contextWindow": 1048576,
- "maxOutputTokens": 131072,
- "structuredOutput": false,
+ "contextWindow": 1310720,
+ "maxOutputTokens": 943718,
+ "structuredOutput": true,
"lastUpdated": "2026-08-19",
"capabilities": {
"vision": false,
@@ -17574,7 +17975,7 @@
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
"contextWindow": 32768,
- "maxOutputTokens": 32768,
+ "maxOutputTokens": 29491,
"knowledgeCutoff": "2023-12-31",
"structuredOutput": false,
"lastUpdated": "2025-02-04",
@@ -17588,24 +17989,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",
- "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",
@@ -17619,8 +18002,11 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
- "input": ["text", "image", "pdf"],
+ "input": ["text", "image", "video", "pdf"],
"output": ["text"]
}
},
@@ -17840,7 +18226,6 @@
"functionCalling": true
},
"thinkingOptions": {
- "efforts": ["low", "medium", "high"],
"toggle": true
},
"modalities": {
@@ -18104,8 +18489,8 @@
"description": "Reasoning-optimized 398B MoE agent model with extended thinking for long-horizon and multi-turn tool use",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
- "structuredOutput": true,
+ "maxOutputTokens": 80000,
+ "structuredOutput": false,
"lastUpdated": "2026-05-28",
"capabilities": {
"vision": false,
@@ -18117,25 +18502,6 @@
"output": ["text"]
}
},
- "arcee-ai/virtuoso-large": {
- "displayName": "Virtuoso Large",
- "description": "Flagship model for demanding analysis, coding, and production agent workflows",
- "lifecycle": "active",
- "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",
@@ -18150,6 +18516,9 @@
"reasoning": true,
"functionCalling": false
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["image", "text"],
"output": ["text"]
@@ -18168,8 +18537,11 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
- "input": ["image", "text"],
+ "input": ["image", "text", "video"],
"output": ["text"]
}
},
@@ -18186,8 +18558,11 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
- "input": ["image", "text"],
+ "input": ["image", "text", "video"],
"output": ["text"]
}
},
@@ -18196,7 +18571,7 @@
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"structuredOutput": true,
"lastUpdated": "2026-08-12",
"capabilities": {
@@ -18204,8 +18579,11 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -18227,7 +18605,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -18249,7 +18627,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -18271,7 +18649,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -18403,23 +18781,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",
- "contextWindow": 128000,
- "maxOutputTokens": 128000,
- "structuredOutput": true,
- "lastUpdated": "2025-11-13",
- "capabilities": {
- "vision": false,
- "reasoning": true,
- "functionCalling": false
+ "thinkingOptions": {
+ "toggle": true
},
"modalities": {
"input": ["text"],
@@ -18450,7 +18813,7 @@
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
"contextWindow": 163840,
- "maxOutputTokens": 163840,
+ "maxOutputTokens": 147456,
"knowledgeCutoff": "2024-07-31",
"structuredOutput": true,
"lastUpdated": "2025-03-24",
@@ -18469,7 +18832,7 @@
"description": "DeepSeek chat model for instruction following, coding, and analysis",
"lifecycle": "active",
"contextWindow": 163840,
- "maxOutputTokens": 32768,
+ "maxOutputTokens": 144900,
"knowledgeCutoff": "2025-03-31",
"structuredOutput": true,
"lastUpdated": "2025-08-21",
@@ -18529,7 +18892,7 @@
"description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
"lifecycle": "active",
"contextWindow": 8192,
- "maxOutputTokens": 8192,
+ "maxOutputTokens": 7372,
"knowledgeCutoff": "2024-07-31",
"structuredOutput": false,
"lastUpdated": "2025-01-23",
@@ -18538,6 +18901,9 @@
"reasoning": true,
"functionCalling": false
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -18637,7 +19003,7 @@
"description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
"lifecycle": "active",
"contextWindow": 1310720,
- "maxOutputTokens": 384000,
+ "maxOutputTokens": 943718,
"knowledgeCutoff": "2025-05",
"structuredOutput": true,
"lastUpdated": "2026-07-31",
@@ -18707,7 +19073,7 @@
"contextWindow": 1048576,
"maxOutputTokens": 384000,
"structuredOutput": true,
- "lastUpdated": "2026-08-12",
+ "lastUpdated": "2026-08-22",
"capabilities": {
"vision": false,
"reasoning": true,
@@ -18727,7 +19093,7 @@
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
"contextWindow": 512000,
- "maxOutputTokens": 512000,
+ "maxOutputTokens": 460800,
"structuredOutput": true,
"lastUpdated": "2026-08-14",
"isFree": true,
@@ -18736,6 +19102,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text", "image"],
"output": ["text"]
@@ -18759,7 +19128,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "audio", "video", "pdf"],
"output": ["text"]
}
},
@@ -18800,7 +19169,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "audio", "video", "pdf"],
"output": ["text"]
}
},
@@ -18819,7 +19188,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "audio", "video", "pdf"],
"output": ["text"]
}
},
@@ -18857,7 +19226,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "pdf", "audio"],
+ "input": ["text", "image", "pdf", "audio", "video"],
"output": ["text"]
}
},
@@ -18880,7 +19249,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -18950,7 +19319,7 @@
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
"contextWindow": 65536,
- "maxOutputTokens": 65536,
+ "maxOutputTokens": 58982,
"knowledgeCutoff": "2025-01",
"structuredOutput": true,
"lastUpdated": "2026-02-26",
@@ -18987,7 +19356,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -18996,7 +19365,7 @@
"description": "Image model for prompt-driven generation, editing, and visual design workflows",
"lifecycle": "active",
"contextWindow": 65536,
- "maxOutputTokens": 65536,
+ "maxOutputTokens": 58982,
"knowledgeCutoff": "2025-01",
"structuredOutput": false,
"lastUpdated": "2026-06-30",
@@ -19033,7 +19402,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -19055,7 +19424,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -19077,7 +19446,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -19099,7 +19468,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -19121,7 +19490,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -19143,7 +19512,7 @@
"efforts": ["minimal", "low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -19165,7 +19534,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -19211,8 +19580,8 @@
"displayName": "Gemma 3 27B",
"description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
"lifecycle": "active",
- "contextWindow": 262144,
- "maxOutputTokens": 131072,
+ "contextWindow": 131072,
+ "maxOutputTokens": 117964,
"knowledgeCutoff": "2024-08-31",
"structuredOutput": true,
"lastUpdated": "2025-03-12",
@@ -19245,25 +19614,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",
- "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",
@@ -19281,7 +19631,7 @@
"toggle": true
},
"modalities": {
- "input": ["image", "text"],
+ "input": ["image", "text", "video"],
"output": ["text"]
}
},
@@ -19303,7 +19653,7 @@
"toggle": true
},
"modalities": {
- "input": ["image", "text"],
+ "input": ["image", "text", "video"],
"output": ["text"]
}
},
@@ -19312,7 +19662,7 @@
"description": "Largest Gemma 4 instruction model for open, self-hosted chat and reasoning",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 16384,
"structuredOutput": true,
"lastUpdated": "2026-04-02",
"capabilities": {
@@ -19324,7 +19674,7 @@
"toggle": true
},
"modalities": {
- "input": ["image", "text"],
+ "input": ["image", "text", "video"],
"output": ["text"]
}
},
@@ -19346,7 +19696,7 @@
"toggle": true
},
"modalities": {
- "input": ["image", "text"],
+ "input": ["image", "text", "video"],
"output": ["text"]
}
},
@@ -19393,7 +19743,7 @@
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
"contextWindow": 8192,
- "maxOutputTokens": 4096,
+ "maxOutputTokens": 3686,
"knowledgeCutoff": "2023-06-30",
"structuredOutput": true,
"lastUpdated": "2023-07-02",
@@ -19412,7 +19762,7 @@
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "active",
"contextWindow": 131000,
- "maxOutputTokens": 131000,
+ "maxOutputTokens": 117900,
"structuredOutput": false,
"lastUpdated": "2025-10-20",
"capabilities": {
@@ -19430,7 +19780,7 @@
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 117964,
"structuredOutput": true,
"lastUpdated": "2026-04-30",
"capabilities": {
@@ -19443,57 +19793,42 @@
"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",
- "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",
- "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",
- "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"],
@@ -19513,44 +19848,30 @@
"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",
"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",
- "contextWindow": 256000,
- "maxOutputTokens": 80000,
- "structuredOutput": true,
- "lastUpdated": "2026-07-10",
- "capabilities": {
- "vision": false,
- "reasoning": false,
- "functionCalling": true
+ "toggle": true
},
"modalities": {
"input": ["text"],
@@ -19562,7 +19883,7 @@
"description": "Coding model for repository understanding, refactors, and agentic engineering tasks",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 80000,
+ "maxOutputTokens": 144000,
"structuredOutput": true,
"lastUpdated": "2026-03-27",
"capabilities": {
@@ -19579,8 +19900,8 @@
"displayName": "KAT-Coder-Pro V2.5",
"description": "Coding model for repository understanding, refactors, and agentic engineering tasks",
"lifecycle": "active",
- "contextWindow": 256000,
- "maxOutputTokens": 80000,
+ "contextWindow": 262144,
+ "maxOutputTokens": 235929,
"structuredOutput": true,
"lastUpdated": "2026-07-10",
"capabilities": {
@@ -19644,6 +19965,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -19673,7 +19997,7 @@
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 117964,
"knowledgeCutoff": "2023-12",
"structuredOutput": true,
"lastUpdated": "2024-07-23",
@@ -19692,7 +20016,7 @@
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
"contextWindow": 60000,
- "maxOutputTokens": 60000,
+ "maxOutputTokens": 54000,
"knowledgeCutoff": "2023-12-31",
"structuredOutput": false,
"lastUpdated": "2024-09-25",
@@ -19711,7 +20035,7 @@
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 117964,
"knowledgeCutoff": "2023-12-31",
"structuredOutput": true,
"lastUpdated": "2024-09-25",
@@ -19730,7 +20054,7 @@
"description": "Popular open Llama workhorse for multilingual chat, coding, and self-hosting",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 16384,
+ "maxOutputTokens": 115200,
"knowledgeCutoff": "2023-12",
"structuredOutput": true,
"lastUpdated": "2024-12-06",
@@ -19749,7 +20073,7 @@
"description": "Open multimodal Llama model for strong reasoning and fast responses",
"lifecycle": "active",
"contextWindow": 1048576,
- "maxOutputTokens": 16384,
+ "maxOutputTokens": 115200,
"knowledgeCutoff": "2024-08-31",
"structuredOutput": true,
"lastUpdated": "2025-04-05",
@@ -19786,7 +20110,7 @@
"displayName": "Llama Guard 4 12B",
"description": "Safety model for policy screening, moderation, and risk-aware routing workflows",
"lifecycle": "active",
- "contextWindow": 1048576,
+ "contextWindow": 163840,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2024-08-31",
"structuredOutput": false,
@@ -19806,7 +20130,7 @@
"description": "Muse Glimmer is a 30-billion-parameter open-weight multimodal model from Meta Superintelligence Labs, distilled from Muse Spark for always-on local agents, tool use, coding, and image understanding.",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 16384,
"knowledgeCutoff": "2026-01-04",
"structuredOutput": true,
"lastUpdated": "2026-08-10",
@@ -19828,7 +20152,7 @@
"description": "Open Llama multimodal model for image understanding and text reasoning",
"lifecycle": "active",
"contextWindow": 1048576,
- "maxOutputTokens": 1048576,
+ "maxOutputTokens": 943718,
"structuredOutput": true,
"lastUpdated": "2026-07-09",
"capabilities": {
@@ -19840,7 +20164,7 @@
"efforts": ["minimal", "low", "medium", "high", "xhigh"]
},
"modalities": {
- "input": ["text", "image", "pdf", "audio"],
+ "input": ["text", "image", "video", "pdf", "audio"],
"output": ["text"]
}
},
@@ -19849,7 +20173,7 @@
"description": "Muse Spark 1.2 is a coding-focused update to Muse Spark 1.1 with improvements in code generation, complex debugging, codebase understanding, and end-to-end developer workflows.",
"lifecycle": "active",
"contextWindow": 1048576,
- "maxOutputTokens": 1048576,
+ "maxOutputTokens": 943718,
"structuredOutput": true,
"lastUpdated": "2026-08-05",
"capabilities": {
@@ -19861,7 +20185,28 @@
"efforts": ["minimal", "low", "medium", "high", "xhigh"]
},
"modalities": {
- "input": ["text", "image", "pdf", "audio"],
+ "input": ["text", "image", "video", "pdf", "audio"],
+ "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",
+ "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", "video", "pdf", "audio"],
"output": ["text"]
}
},
@@ -19870,7 +20215,7 @@
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
"contextWindow": 16384,
- "maxOutputTokens": 16384,
+ "maxOutputTokens": 14745,
"knowledgeCutoff": "2024-06-30",
"structuredOutput": true,
"lastUpdated": "2025-01-10",
@@ -19908,7 +20253,7 @@
"description": "MiniMax multimodal coding model for long-context reasoning and agent tasks",
"lifecycle": "active",
"contextWindow": 1000192,
- "maxOutputTokens": 1000192,
+ "maxOutputTokens": 900172,
"knowledgeCutoff": "2024-03-31",
"structuredOutput": false,
"lastUpdated": "2025-01-15",
@@ -19936,6 +20281,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -20000,7 +20348,7 @@
"description": "Prior MiniMax coding model for agent workflows, office edits, and automation",
"lifecycle": "active",
"contextWindow": 204800,
- "maxOutputTokens": 32768,
+ "maxOutputTokens": 128000,
"structuredOutput": true,
"lastUpdated": "2026-02-12",
"capabilities": {
@@ -20031,6 +20379,25 @@
"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",
+ "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",
@@ -20044,8 +20411,33 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ }
+ },
+ "minimax/minimax-m3:free": {
+ "displayName": "MiniMax M3 (free)",
+ "description": "MiniMax multimodal coding model for long-context reasoning and agent tasks",
+ "lifecycle": "active",
+ "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", "video"],
"output": ["text"]
}
},
@@ -20054,7 +20446,7 @@
"description": "Mistral coding model for code completion, generation, and developer workflows",
"lifecycle": "active",
"contextWindow": 256000,
- "maxOutputTokens": 256000,
+ "maxOutputTokens": 204800,
"knowledgeCutoff": "2025-03-31",
"structuredOutput": true,
"lastUpdated": "2025-08-01",
@@ -20068,30 +20460,31 @@
"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",
"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",
- "contextWindow": 131072,
- "maxOutputTokens": 131072,
+ "contextWindow": 262144,
+ "maxOutputTokens": 209715,
"structuredOutput": true,
"lastUpdated": "2025-12-02",
"capabilities": {
@@ -20104,22 +20497,21 @@
"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",
- "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"]
}
},
@@ -20128,7 +20520,7 @@
"description": "Compact Mistral model for edge, latency-sensitive, and cost-efficient workloads",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 209715,
"structuredOutput": true,
"lastUpdated": "2025-12-02",
"capabilities": {
@@ -20146,7 +20538,7 @@
"description": "Flagship Mistral model for advanced reasoning, coding, and multilingual work",
"lifecycle": "active",
"contextWindow": 128000,
- "maxOutputTokens": 128000,
+ "maxOutputTokens": 102400,
"knowledgeCutoff": "2024-11-30",
"structuredOutput": true,
"lastUpdated": "2024-02-26",
@@ -20165,7 +20557,7 @@
"description": "Flagship Mistral model for advanced reasoning, coding, and multilingual work",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 104857,
"knowledgeCutoff": "2024-03-31",
"structuredOutput": true,
"lastUpdated": "2024-11-19",
@@ -20184,7 +20576,7 @@
"description": "Mistral's largest general model for enterprise agents, coding, and multilingual reasoning",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 209715,
"knowledgeCutoff": "2024-11",
"structuredOutput": true,
"lastUpdated": "2025-12-02",
@@ -20203,7 +20595,7 @@
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 104857,
"knowledgeCutoff": "2025-03-31",
"structuredOutput": true,
"lastUpdated": "2025-05-07",
@@ -20222,7 +20614,7 @@
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 209715,
"structuredOutput": true,
"lastUpdated": "2026-04-30",
"capabilities": {
@@ -20243,7 +20635,7 @@
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 104857,
"knowledgeCutoff": "2025-06-30",
"structuredOutput": true,
"lastUpdated": "2025-08-13",
@@ -20281,7 +20673,7 @@
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
"contextWindow": 32768,
- "maxOutputTokens": 32768,
+ "maxOutputTokens": 26214,
"knowledgeCutoff": "2024-09-30",
"structuredOutput": true,
"lastUpdated": "2025-02-17",
@@ -20319,7 +20711,7 @@
"description": "Fast Mistral production model for chat, extraction, and cost-sensitive agents",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 209715,
"knowledgeCutoff": "2025-06",
"structuredOutput": true,
"lastUpdated": "2026-03-16",
@@ -20341,7 +20733,7 @@
"description": "Efficient Mistral model for fast chat, extraction, and production assistants",
"lifecycle": "active",
"contextWindow": 128000,
- "maxOutputTokens": 128000,
+ "maxOutputTokens": 102400,
"knowledgeCutoff": "2023-10-31",
"structuredOutput": false,
"lastUpdated": "2025-03-17",
@@ -20359,7 +20751,7 @@
"displayName": "Mistral Small 3.2 24B",
"description": "Efficient Mistral model for fast chat, extraction, and production assistants",
"lifecycle": "active",
- "contextWindow": 256000,
+ "contextWindow": 131072,
"maxOutputTokens": 16384,
"knowledgeCutoff": "2023-10-31",
"structuredOutput": true,
@@ -20379,7 +20771,7 @@
"description": "Mistral model for multilingual chat, reasoning, and tool-assisted workflows",
"lifecycle": "active",
"contextWindow": 65536,
- "maxOutputTokens": 65536,
+ "maxOutputTokens": 52428,
"knowledgeCutoff": "2024-01-31",
"structuredOutput": true,
"lastUpdated": "2024-04-17",
@@ -20397,8 +20789,8 @@
"displayName": "Voxtral Small 24B 2507",
"description": "Efficient Mistral model for fast chat, extraction, and production assistants",
"lifecycle": "active",
- "contextWindow": 32000,
- "maxOutputTokens": 32000,
+ "contextWindow": 32768,
+ "maxOutputTokens": 26214,
"structuredOutput": true,
"lastUpdated": "2025-10-30",
"capabilities": {
@@ -20473,7 +20865,7 @@
"description": "Earlier Kimi frontier model for long-context agents, coding, and multimodal work",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"knowledgeCutoff": "2025-01",
"structuredOutput": true,
"lastUpdated": "2026-01",
@@ -20482,6 +20874,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text", "image"],
"output": ["text"]
@@ -20492,7 +20887,7 @@
"description": "Multimodal Kimi workhorse for agent loops, coding tasks, and visual context",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"knowledgeCutoff": "2025-01",
"structuredOutput": true,
"lastUpdated": "2026-04-21",
@@ -20501,6 +20896,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text", "image"],
"output": ["text"]
@@ -20511,7 +20909,7 @@
"description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"knowledgeCutoff": "2025-01",
"structuredOutput": true,
"lastUpdated": "2026-06-12",
@@ -20530,7 +20928,7 @@
"description": "Kimi multimodal agent model for visual understanding, coding, and planning",
"lifecycle": "active",
"contextWindow": 1048576,
- "maxOutputTokens": 1048576,
+ "maxOutputTokens": 943718,
"structuredOutput": true,
"lastUpdated": "2026-07-16",
"capabilities": {
@@ -20543,7 +20941,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -20588,7 +20986,7 @@
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"structuredOutput": true,
"lastUpdated": "2026-06-24",
"capabilities": {
@@ -20596,6 +20994,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text", "image"],
"output": ["text"]
@@ -20606,7 +21007,7 @@
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"structuredOutput": false,
"lastUpdated": "2026-06-08",
"capabilities": {
@@ -20614,6 +21015,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text", "image"],
"output": ["text"]
@@ -20662,7 +21066,7 @@
"description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 117964,
"knowledgeCutoff": "2024-08-31",
"structuredOutput": false,
"lastUpdated": "2025-08-26",
@@ -20684,7 +21088,7 @@
"description": "Reasoning model for deliberate analysis, multi-step problem solving, and tool use",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 117964,
"knowledgeCutoff": "2024-08-31",
"structuredOutput": false,
"lastUpdated": "2025-08-26",
@@ -20706,7 +21110,7 @@
"description": "Small Nemotron 3 MoE for efficient coding, math, and long-context agents",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 228000,
"structuredOutput": true,
"lastUpdated": "2025-12-15",
"capabilities": {
@@ -20714,24 +21118,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",
- "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"],
@@ -20752,8 +21140,11 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "video", "audio"],
"output": ["text"]
}
},
@@ -20784,7 +21175,7 @@
"description": "Nemotron middle tier for collaborative agents and high-volume reasoning workloads",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"structuredOutput": true,
"lastUpdated": "2026-03-11",
"isFree": true,
@@ -20806,7 +21197,7 @@
"displayName": "Nemotron 3 Ultra 550B A55B",
"description": "Largest Nemotron 3 model for maximum open-weight reasoning and agent accuracy",
"lifecycle": "active",
- "contextWindow": 512288,
+ "contextWindow": 262144,
"maxOutputTokens": 16384,
"structuredOutput": true,
"lastUpdated": "2026-06-04",
@@ -20861,6 +21252,9 @@
"reasoning": true,
"functionCalling": false
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text", "image"],
"output": ["text"]
@@ -20909,44 +21303,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",
- "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",
- "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",
@@ -20971,7 +21327,7 @@
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "active",
"contextWindow": 4095,
- "maxOutputTokens": 4096,
+ "maxOutputTokens": 3685,
"knowledgeCutoff": "2021-09-30",
"structuredOutput": true,
"lastUpdated": "2024-01-25",
@@ -21009,7 +21365,7 @@
"description": "Compact GPT model for low-latency assistance and high-volume workloads",
"lifecycle": "active",
"contextWindow": 4095,
- "maxOutputTokens": 4096,
+ "maxOutputTokens": 3685,
"knowledgeCutoff": "2021-09-30",
"structuredOutput": true,
"lastUpdated": "2023-09-28",
@@ -21940,7 +22296,7 @@
"description": "Open GPT reasoning model for self-hosted agents and controllable deployments",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 117964,
"structuredOutput": true,
"lastUpdated": "2025-08-05",
"capabilities": {
@@ -21961,7 +22317,7 @@
"description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 117964,
"structuredOutput": true,
"lastUpdated": "2025-08-05",
"capabilities": {
@@ -21977,28 +22333,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",
- "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",
@@ -22035,7 +22369,7 @@
"functionCalling": true
},
"thinkingOptions": {
- "efforts": ["low", "medium", "high"]
+ "toggle": true
},
"modalities": {
"input": ["text", "image", "pdf"],
@@ -22056,6 +22390,9 @@
"reasoning": true,
"functionCalling": false
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text", "image", "pdf"],
"output": ["text"]
@@ -22076,7 +22413,7 @@
"functionCalling": true
},
"thinkingOptions": {
- "efforts": ["low", "medium", "high"]
+ "toggle": true
},
"modalities": {
"input": ["text", "image", "pdf"],
@@ -22098,7 +22435,7 @@
"functionCalling": true
},
"thinkingOptions": {
- "efforts": ["low", "medium", "high"]
+ "toggle": true
},
"modalities": {
"input": ["text", "pdf"],
@@ -22142,7 +22479,7 @@
"functionCalling": true
},
"thinkingOptions": {
- "efforts": ["low", "medium", "high"]
+ "toggle": true
},
"modalities": {
"input": ["text", "pdf", "image"],
@@ -22164,7 +22501,7 @@
"functionCalling": true
},
"thinkingOptions": {
- "efforts": ["low", "medium", "high"]
+ "toggle": true
},
"modalities": {
"input": ["image", "text", "pdf"],
@@ -22207,7 +22544,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "audio", "pdf", "video"],
"output": ["text", "image"]
}
},
@@ -22298,8 +22635,11 @@
"reasoning": true,
"functionCalling": false
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -22308,7 +22648,7 @@
"description": "Sonar search model for current answers, retrieval, and citation-backed chat",
"lifecycle": "active",
"contextWindow": 127072,
- "maxOutputTokens": 127072,
+ "maxOutputTokens": 114364,
"structuredOutput": false,
"lastUpdated": "2025-01-27",
"capabilities": {
@@ -22326,7 +22666,7 @@
"description": "Sonar search model for current answers, retrieval, and citation-backed chat",
"lifecycle": "active",
"contextWindow": 128000,
- "maxOutputTokens": 128000,
+ "maxOutputTokens": 115200,
"structuredOutput": false,
"lastUpdated": "2025-03-07",
"capabilities": {
@@ -22334,6 +22674,9 @@
"reasoning": true,
"functionCalling": false
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -22380,7 +22723,7 @@
"description": "Web-grounded reasoning model for multi-step research and cited answers",
"lifecycle": "active",
"contextWindow": 128000,
- "maxOutputTokens": 128000,
+ "maxOutputTokens": 115200,
"structuredOutput": false,
"lastUpdated": "2025-03-07",
"capabilities": {
@@ -22388,6 +22731,9 @@
"reasoning": true,
"functionCalling": false
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text", "image"],
"output": ["text"]
@@ -22406,6 +22752,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -22425,6 +22774,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -22443,6 +22795,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -22462,6 +22817,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -22491,7 +22849,7 @@
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
"contextWindow": 32768,
- "maxOutputTokens": 32768,
+ "maxOutputTokens": 29491,
"knowledgeCutoff": "2024-06-30",
"structuredOutput": true,
"lastUpdated": "2024-10-16",
@@ -22510,7 +22868,7 @@
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
"contextWindow": 32768,
- "maxOutputTokens": 32768,
+ "maxOutputTokens": 29491,
"knowledgeCutoff": "2024-06-30",
"structuredOutput": false,
"lastUpdated": "2024-11-11",
@@ -22562,31 +22920,12 @@
"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",
- "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",
"contextWindow": 128000,
- "maxOutputTokens": 128000,
+ "maxOutputTokens": 28800,
"knowledgeCutoff": "2024-06-30",
"structuredOutput": true,
"lastUpdated": "2025-02-01",
@@ -22649,7 +22988,7 @@
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 16384,
+ "maxOutputTokens": 235929,
"knowledgeCutoff": "2025-06-30",
"structuredOutput": true,
"lastUpdated": "2025-07-21",
@@ -22667,8 +23006,8 @@
"displayName": "Qwen3 235B A22B Thinking 2507",
"description": "Qwen reasoning model for deliberate problem solving, math, and coding",
"lifecycle": "active",
- "contextWindow": 262144,
- "maxOutputTokens": 32768,
+ "contextWindow": 131072,
+ "maxOutputTokens": 117964,
"knowledgeCutoff": "2025-06-30",
"structuredOutput": false,
"lastUpdated": "2025-07-25",
@@ -22687,7 +23026,7 @@
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 8192,
+ "maxOutputTokens": 16384,
"structuredOutput": false,
"lastUpdated": "2025-04-28",
"capabilities": {
@@ -22809,7 +23148,7 @@
"description": "Smaller Qwen coder for efficient local agents and repo-level fixes",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"knowledgeCutoff": "2025-04",
"structuredOutput": true,
"lastUpdated": "2025-04",
@@ -22847,7 +23186,7 @@
"description": "Qwen coding model for software agents, repository edits, and code reasoning",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"knowledgeCutoff": "2025-09",
"structuredOutput": true,
"lastUpdated": "2026-02-03",
@@ -22912,6 +23251,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -22922,7 +23264,7 @@
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 16384,
+ "maxOutputTokens": 235929,
"knowledgeCutoff": "2025-04",
"structuredOutput": true,
"lastUpdated": "2025-09",
@@ -22998,7 +23340,7 @@
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 32768,
+ "maxOutputTokens": 16384,
"knowledgeCutoff": "2025-03-31",
"structuredOutput": true,
"lastUpdated": "2025-10-06",
@@ -23090,7 +23432,7 @@
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 65536,
+ "maxOutputTokens": 81920,
"structuredOutput": true,
"lastUpdated": "2026-02-23",
"capabilities": {
@@ -23102,7 +23444,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23123,7 +23465,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23132,7 +23474,7 @@
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"structuredOutput": true,
"lastUpdated": "2026-02-23",
"capabilities": {
@@ -23144,7 +23486,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23165,7 +23507,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23174,7 +23516,7 @@
"description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"structuredOutput": true,
"lastUpdated": "2026-02-23",
"capabilities": {
@@ -23186,7 +23528,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23207,7 +23549,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23229,7 +23571,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23250,7 +23592,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23259,7 +23601,7 @@
"description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"structuredOutput": true,
"lastUpdated": "2026-04-22",
"capabilities": {
@@ -23271,7 +23613,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23280,7 +23622,7 @@
"description": "Open multimodal Qwen MoE for local agents that need vision, audio, and code",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"structuredOutput": true,
"lastUpdated": "2026-04-17",
"capabilities": {
@@ -23292,7 +23634,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23313,7 +23655,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23357,7 +23699,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23375,8 +23717,11 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23462,7 +23807,28 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ }
+ },
+ "qwen/qwen3.8-flash": {
+ "displayName": "Qwen3.8 Flash",
+ "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
+ "lifecycle": "active",
+ "contextWindow": 1000000,
+ "maxOutputTokens": 131072,
+ "structuredOutput": true,
+ "lastUpdated": "2026-08-26",
+ "capabilities": {
+ "vision": true,
+ "reasoning": true,
+ "functionCalling": true
+ },
+ "thinkingOptions": {
+ "toggle": true
+ },
+ "modalities": {
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23483,7 +23849,7 @@
"efforts": ["minimal", "low", "medium", "high", "xhigh"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23492,7 +23858,7 @@
"description": "Multimodal model for analyzing text, images, documents, and rich media",
"lifecycle": "active",
"contextWindow": 16384,
- "maxOutputTokens": 16384,
+ "maxOutputTokens": 14745,
"structuredOutput": true,
"lastUpdated": "2026-03-20",
"capabilities": {
@@ -23501,7 +23867,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["image", "text"],
+ "input": ["image", "text", "video"],
"output": ["text"]
}
},
@@ -23510,7 +23876,7 @@
"description": "Efficient model for low-latency assistance, extraction, and routine automation",
"lifecycle": "active",
"contextWindow": 65536,
- "maxOutputTokens": 65536,
+ "maxOutputTokens": 58982,
"knowledgeCutoff": "2025-01-31",
"structuredOutput": true,
"lastUpdated": "2025-03-12",
@@ -23607,7 +23973,7 @@
"description": "Open Llama instruction model for multilingual chat, reasoning, and coding",
"lifecycle": "active",
"contextWindow": 8192,
- "maxOutputTokens": 16384,
+ "maxOutputTokens": 7372,
"knowledgeCutoff": "2023-12-31",
"structuredOutput": true,
"lastUpdated": "2024-08-13",
@@ -23659,28 +24025,6 @@
"output": ["text"]
}
},
- "stealth/ox-alpha": {
- "displayName": "Ox Alpha",
- "description": "Multimodal reasoning model for visual analysis, planning, and tool use",
- "lifecycle": "active",
- "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",
@@ -23706,7 +24050,7 @@
"lifecycle": "active",
"contextWindow": 262144,
"inputLimit": 256000,
- "maxOutputTokens": 256000,
+ "maxOutputTokens": 230400,
"knowledgeCutoff": "2026-03-01",
"structuredOutput": true,
"lastUpdated": "2026-05-29",
@@ -23719,7 +24063,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -23728,7 +24072,7 @@
"description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 117964,
"knowledgeCutoff": "2025-03-31",
"structuredOutput": true,
"lastUpdated": "2025-07-08",
@@ -23737,6 +24081,9 @@
"reasoning": true,
"functionCalling": false
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -23778,6 +24125,24 @@
"output": ["text"]
}
},
+ "tencent/hy-mt2-7b": {
+ "displayName": "Hy-MT2-7B",
+ "description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks",
+ "lifecycle": "active",
+ "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",
@@ -23804,7 +24169,7 @@
"description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 235929,
"structuredOutput": false,
"lastUpdated": "2026-04-20",
"capabilities": {
@@ -23820,34 +24185,36 @@
"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",
- "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",
- "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,
@@ -23863,7 +24230,7 @@
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
"contextWindow": 32768,
- "maxOutputTokens": 32768,
+ "maxOutputTokens": 29491,
"knowledgeCutoff": "2024-06-30",
"structuredOutput": true,
"lastUpdated": "2025-03-10",
@@ -23882,7 +24249,7 @@
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
"contextWindow": 1024000,
- "maxOutputTokens": 1024000,
+ "maxOutputTokens": 26214,
"knowledgeCutoff": "2024-04-30",
"structuredOutput": true,
"lastUpdated": "2024-11-08",
@@ -23901,7 +24268,7 @@
"description": "Multimodal reasoning model for visual analysis, planning, and tool use",
"lifecycle": "active",
"contextWindow": 1048576,
- "maxOutputTokens": 262144,
+ "maxOutputTokens": 471859,
"structuredOutput": false,
"lastUpdated": "2026-07-15",
"capabilities": {
@@ -23923,8 +24290,52 @@
"lifecycle": "active",
"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",
+ "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",
+ "contextWindow": 1048576,
+ "maxOutputTokens": 262144,
+ "structuredOutput": false,
+ "lastUpdated": "2026-07-15",
+ "isFree": true,
"capabilities": {
"vision": true,
"reasoning": true,
@@ -23943,7 +24354,7 @@
"description": "Open-weight instruction model for adaptable chat and self-hosted production workloads",
"lifecycle": "active",
"contextWindow": 6144,
- "maxOutputTokens": 6144,
+ "maxOutputTokens": 4096,
"knowledgeCutoff": "2023-06-30",
"structuredOutput": true,
"lastUpdated": "2023-07-22",
@@ -23962,7 +24373,7 @@
"description": "Flagship model for demanding analysis, coding, and production agent workflows",
"lifecycle": "active",
"contextWindow": 131072,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 117964,
"structuredOutput": true,
"lastUpdated": "2026-01-27",
"capabilities": {
@@ -23970,6 +24381,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -23988,6 +24402,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -24016,7 +24433,7 @@
"description": "Grok model for agentic tool use, reasoning, coding, and live assistance",
"lifecycle": "active",
"contextWindow": 2000000,
- "maxOutputTokens": 2000000,
+ "maxOutputTokens": 1800000,
"knowledgeCutoff": "2025-09-01",
"structuredOutput": true,
"lastUpdated": "2026-03-31",
@@ -24025,6 +24442,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text", "image", "pdf"],
"output": ["text"]
@@ -24035,7 +24455,7 @@
"description": "Grok model for agentic tool use, reasoning, coding, and live assistance",
"lifecycle": "active",
"contextWindow": 2000000,
- "maxOutputTokens": 2000000,
+ "maxOutputTokens": 1800000,
"knowledgeCutoff": "2025-09-01",
"structuredOutput": true,
"lastUpdated": "2026-03-31",
@@ -24057,7 +24477,7 @@
"description": "xAI's default Grok for chat, coding, agentic tools, and lower hallucination risk",
"lifecycle": "active",
"contextWindow": 1000000,
- "maxOutputTokens": 1000000,
+ "maxOutputTokens": 900000,
"structuredOutput": true,
"lastUpdated": "2026-04-17",
"capabilities": {
@@ -24078,7 +24498,7 @@
"description": "xAI's Grok model for chat, coding, agentic tools, and lower hallucination risk",
"lifecycle": "active",
"contextWindow": 500000,
- "maxOutputTokens": 500000,
+ "maxOutputTokens": 450000,
"structuredOutput": true,
"lastUpdated": "2026-07-08",
"capabilities": {
@@ -24099,7 +24519,7 @@
"description": "Grok model for agentic tool use, reasoning, coding, and live assistance",
"lifecycle": "active",
"contextWindow": 500000,
- "maxOutputTokens": 500000,
+ "maxOutputTokens": 450000,
"knowledgeCutoff": "2026-02-01",
"structuredOutput": true,
"lastUpdated": "2026-08-12",
@@ -24121,7 +24541,7 @@
"description": "Fast Grok coding model tuned for agentic engineering and iterative edits",
"lifecycle": "active",
"contextWindow": 256000,
- "maxOutputTokens": 256000,
+ "maxOutputTokens": 230400,
"structuredOutput": true,
"lastUpdated": "2026-04-16",
"capabilities": {
@@ -24152,7 +24572,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text"]
}
},
@@ -24249,7 +24669,7 @@
"description": "Late GLM-4 workhorse for coding agents, reasoning, and structured tasks",
"lifecycle": "active",
"contextWindow": 204800,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 16384,
"knowledgeCutoff": "2025-04",
"structuredOutput": true,
"lastUpdated": "2025-09-30",
@@ -24258,6 +24678,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -24277,8 +24700,11 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -24296,6 +24722,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -24315,6 +24744,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -24333,6 +24765,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -24351,6 +24786,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -24369,6 +24807,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
"input": ["text"],
"output": ["text"]
@@ -24379,7 +24820,7 @@
"description": "Open flagship GLM for long-horizon coding agents and million-token context work",
"lifecycle": "active",
"contextWindow": 1048576,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 262144,
"structuredOutput": true,
"lastUpdated": "2026-06-13",
"capabilities": {
@@ -24401,7 +24842,7 @@
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
"contextWindow": 256000,
- "maxOutputTokens": 256000,
+ "maxOutputTokens": 230400,
"structuredOutput": true,
"lastUpdated": "2026-06-13",
"isFree": true,
@@ -24423,9 +24864,9 @@
"displayName": "GLM-5.3",
"description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
"lifecycle": "active",
- "contextWindow": 1048576,
+ "contextWindow": 1310720,
"maxOutputTokens": 131072,
- "structuredOutput": false,
+ "structuredOutput": true,
"lastUpdated": "2026-08-14",
"capabilities": {
"vision": false,
@@ -24440,6 +24881,27 @@
"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",
+ "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", "video"],
+ "output": ["text"]
+ }
+ },
"z-ai/glm-5v-turbo": {
"displayName": "GLM-5V-Turbo",
"description": "Fast GLM vision model for screenshots, documents, and multimodal agent tasks",
@@ -24453,8 +24915,11 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "toggle": true
+ },
"modalities": {
- "input": ["image", "text"],
+ "input": ["image", "text", "video"],
"output": ["text"]
}
}
@@ -25474,7 +25939,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -25631,7 +26096,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -25750,7 +26215,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
}
@@ -25818,7 +26283,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -25972,7 +26437,7 @@
"contextWindow": 1048576,
"maxOutputTokens": 384000,
"structuredOutput": true,
- "lastUpdated": "2026-08-12",
+ "lastUpdated": "2026-08-22",
"capabilities": {
"vision": false,
"reasoning": true,
@@ -26186,7 +26651,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -26225,7 +26690,7 @@
"efforts": ["low", "high", "max"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -26544,6 +27009,48 @@
"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",
+ "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",
+ "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", "video"],
+ "output": ["text"]
+ }
}
},
"tencent-coding-plan": {
@@ -26658,7 +27165,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -26714,7 +27221,28 @@
"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",
+ "contextWindow": 1024000,
+ "maxOutputTokens": 64000,
+ "lastUpdated": "2026-08-28",
+ "capabilities": {
+ "vision": false,
+ "reasoning": true,
+ "functionCalling": true
+ },
+ "thinkingOptions": {
+ "efforts": ["none", "high"],
"toggle": true
},
"modalities": {
@@ -26738,7 +27266,7 @@
"functionCalling": true
},
"thinkingOptions": {
- "efforts": ["low", "medium", "high"],
+ "efforts": ["none", "high"],
"toggle": true
},
"modalities": {
@@ -26767,6 +27295,27 @@
"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",
+ "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": {
@@ -27306,7 +27855,7 @@
"description": "Open-weight sparse MoE (2.4T total, 95B active), the open-weight twin of Qwen3.8 Max for coding, research, complex reasoning, and agentic workflows",
"lifecycle": "active",
"contextWindow": 262144,
- "maxOutputTokens": 131072,
+ "maxOutputTokens": 128000,
"structuredOutput": true,
"lastUpdated": "2026-08-12",
"capabilities": {
@@ -27343,6 +27892,48 @@
"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",
+ "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",
+ "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",
@@ -27377,7 +27968,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"alibaba/wan-v2.6-i2v": {
@@ -27394,7 +27985,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"alibaba/wan-v2.6-i2v-flash": {
@@ -27411,7 +28002,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"alibaba/wan-v2.6-r2v": {
@@ -27428,7 +28019,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"alibaba/wan-v2.6-r2v-flash": {
@@ -27445,7 +28036,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"alibaba/wan-v2.6-t2v": {
@@ -27462,7 +28053,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"alibaba/wan-v2.7-r2v": {
@@ -27479,7 +28070,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"alibaba/wan-v2.7-t2v": {
@@ -27496,7 +28087,41 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
+ }
+ },
+ "alibaba/wan-v3.0-video": {
+ "displayName": "Wan v3.0 Video",
+ "description": "Video model for prompt-guided generation, editing, and motion workflows",
+ "lifecycle": "active",
+ "contextWindow": 0,
+ "maxOutputTokens": 0,
+ "lastUpdated": "2026-08-23",
+ "capabilities": {
+ "vision": true,
+ "reasoning": false,
+ "functionCalling": false
+ },
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["video"]
+ }
+ },
+ "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",
+ "contextWindow": 0,
+ "maxOutputTokens": 0,
+ "lastUpdated": "2026-08-28",
+ "capabilities": {
+ "vision": true,
+ "reasoning": false,
+ "functionCalling": false
+ },
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["video"]
}
},
"amazon/nova-2-lite": {
@@ -27535,7 +28160,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -27571,7 +28196,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -27920,24 +28545,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",
- "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",
@@ -28037,7 +28644,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"bfl/flux-kontext-max": {
@@ -28182,7 +28789,7 @@
},
"modalities": {
"input": ["text", "image"],
- "output": []
+ "output": ["video"]
}
},
"bytedance/seedance-2.0-fast": {
@@ -28199,7 +28806,24 @@
},
"modalities": {
"input": ["text", "image"],
- "output": []
+ "output": ["video"]
+ }
+ },
+ "bytedance/seedance-2.0-mini": {
+ "displayName": "Seedance 2.0 Mini",
+ "description": "Video model for prompt-guided generation, editing, and motion workflows",
+ "lifecycle": "active",
+ "contextWindow": 0,
+ "maxOutputTokens": 0,
+ "lastUpdated": "2026-06-22",
+ "capabilities": {
+ "vision": true,
+ "reasoning": false,
+ "functionCalling": false
+ },
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["video"]
}
},
"bytedance/seedance-2.5": {
@@ -28216,7 +28840,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"bytedance/seedance-v1.0-pro": {
@@ -28233,7 +28857,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"bytedance/seedance-v1.0-pro-fast": {
@@ -28250,7 +28874,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"bytedance/seedance-v1.5-pro": {
@@ -28267,7 +28891,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"bytedance/seedream-4.0": {
@@ -28579,12 +29203,34 @@
"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",
+ "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",
- "contextWindow": 1048600,
- "maxOutputTokens": 1048600,
+ "contextWindow": 1000000,
+ "maxOutputTokens": 384000,
"knowledgeCutoff": "2025-05",
"structuredOutput": true,
"lastUpdated": "2026-04-24",
@@ -28609,7 +29255,7 @@
"contextWindow": 1000000,
"maxOutputTokens": 384000,
"structuredOutput": true,
- "lastUpdated": "2026-08-12",
+ "lastUpdated": "2026-08-22",
"capabilities": {
"vision": false,
"reasoning": true,
@@ -28778,7 +29424,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "audio", "video", "pdf"],
"output": ["text"]
}
},
@@ -28837,7 +29483,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "audio", "video", "pdf"],
"output": ["text"]
}
},
@@ -29029,6 +29675,40 @@
"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",
+ "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",
+ "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",
@@ -29210,7 +29890,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"google/veo-3.0-generate-001": {
@@ -29227,7 +29907,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"google/veo-3.1-fast-generate-001": {
@@ -29244,7 +29924,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"google/veo-3.1-generate-001": {
@@ -29261,7 +29941,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"google/veo-3.1-lite-generate-001": {
@@ -29278,7 +29958,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"inception/mercury-2": {
@@ -29335,6 +30015,48 @@
"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",
+ "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",
+ "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",
@@ -29369,7 +30091,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"klingai/kling-v2.5-turbo-t2v": {
@@ -29386,7 +30108,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"klingai/kling-v2.6-i2v": {
@@ -29403,7 +30125,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"klingai/kling-v2.6-motion-control": {
@@ -29420,7 +30142,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"klingai/kling-v2.6-t2v": {
@@ -29437,7 +30159,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"klingai/kling-v3.0-i2v": {
@@ -29454,7 +30176,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"klingai/kling-v3.0-motion-control": {
@@ -29471,7 +30193,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"klingai/kling-v3.0-t2v": {
@@ -29488,7 +30210,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"kwaipilot/kat-coder-air-v2.5": {
@@ -29675,6 +30397,23 @@
"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",
+ "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",
@@ -29745,7 +30484,24 @@
},
"modalities": {
"input": ["text", "image"],
- "output": []
+ "output": ["video"]
+ }
+ },
+ "minimax/minimax-h3-max": {
+ "displayName": "MiniMax H3 Max",
+ "description": "Video model for prompt-guided generation, editing, and motion workflows",
+ "lifecycle": "active",
+ "contextWindow": 0,
+ "maxOutputTokens": 0,
+ "lastUpdated": "2026-08-27",
+ "capabilities": {
+ "vision": true,
+ "reasoning": false,
+ "functionCalling": false
+ },
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["video"]
}
},
"minimax/minimax-m2": {
@@ -29852,6 +30608,24 @@
"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",
+ "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",
@@ -29873,8 +30647,8 @@
"displayName": "MiniMax M3",
"description": "MiniMax multimodal model for long-context coding, perception, and agent planning",
"lifecycle": "active",
- "contextWindow": 1000000,
- "maxOutputTokens": 1000000,
+ "contextWindow": 512000,
+ "maxOutputTokens": 512000,
"lastUpdated": "2026-06-01",
"capabilities": {
"vision": true,
@@ -29889,6 +30663,27 @@
"output": ["text"]
}
},
+ "minimax/minimax-m3-free": {
+ "displayName": "MiniMax M3 (Free)",
+ "description": "MiniMax multimodal model for long-context coding, perception, and agent planning",
+ "lifecycle": "active",
+ "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",
@@ -29960,42 +30755,6 @@
"output": ["text"]
}
},
- "mistral/magistral-medium": {
- "displayName": "Magistral Medium (latest)",
- "description": "Mistral reasoning model for transparent analysis, math, and complex decisions",
- "lifecycle": "active",
- "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",
- "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",
@@ -30722,26 +31481,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",
- "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",
@@ -30814,6 +31553,9 @@
"reasoning": true,
"functionCalling": true
},
+ "thinkingOptions": {
+ "efforts": ["low", "medium", "high"]
+ },
"modalities": {
"input": ["text", "image", "pdf"],
"output": ["text"]
@@ -31639,13 +32381,35 @@
"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",
+ "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",
- "contextWindow": 131072,
- "inputLimit": 65536,
- "maxOutputTokens": 65536,
+ "contextWindow": 128000,
+ "inputLimit": 112000,
+ "maxOutputTokens": 16000,
"knowledgeCutoff": "2024-10",
"lastUpdated": "2024-12-01",
"capabilities": {
@@ -31796,28 +32560,6 @@
"output": ["text"]
}
},
- "openai/o3-deep-research": {
- "displayName": "o3-deep-research",
- "description": "Research model for long-horizon investigation, synthesis, and analytical reports",
- "lifecycle": "active",
- "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",
@@ -32517,12 +33259,16 @@
"lifecycle": "active",
"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"]
@@ -32534,12 +33280,16 @@
"lifecycle": "active",
"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"]
@@ -32551,12 +33301,17 @@
"lifecycle": "active",
"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"]
@@ -32568,7 +33323,8 @@
"lifecycle": "active",
"contextWindow": 256000,
"maxOutputTokens": 256000,
- "lastUpdated": "2026-05-20",
+ "structuredOutput": true,
+ "lastUpdated": "2026-04-16",
"capabilities": {
"vision": true,
"reasoning": true,
@@ -32627,7 +33383,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"spacexai/grok-imagine-video-1.5": {
@@ -32636,7 +33392,7 @@
"lifecycle": "active",
"contextWindow": 0,
"maxOutputTokens": 0,
- "lastUpdated": "2026-06-22",
+ "lastUpdated": "2026-05-30",
"capabilities": {
"vision": false,
"reasoning": false,
@@ -32644,7 +33400,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"spacexai/grok-imagine-video-1.5-preview": {
@@ -32661,7 +33417,7 @@
},
"modalities": {
"input": ["text"],
- "output": []
+ "output": ["video"]
}
},
"spacexai/grok-stt": {
@@ -32830,8 +33586,8 @@
"displayName": "Hy3",
"description": "Tencent Hy reasoning model for coding, instruction following, and agent tasks",
"lifecycle": "active",
- "contextWindow": 256000,
- "maxOutputTokens": 128000,
+ "contextWindow": 262144,
+ "maxOutputTokens": 262144,
"lastUpdated": "2026-07-06",
"capabilities": {
"vision": false,
@@ -32846,6 +33602,26 @@
"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",
+ "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",
@@ -33132,6 +33908,27 @@
"output": ["text"]
}
},
+ "xiaomi/mimo-v2.5-pro-ultraspeed": {
+ "displayName": "MiMo V2.5 Pro UltraSpeed",
+ "description": "MiMo pro model for strong multimodal reasoning and agent execution",
+ "lifecycle": "active",
+ "contextWindow": 1048576,
+ "maxOutputTokens": 131072,
+ "knowledgeCutoff": "2024-12",
+ "lastUpdated": "2026-06-09",
+ "capabilities": {
+ "vision": false,
+ "reasoning": true,
+ "functionCalling": true
+ },
+ "thinkingOptions": {
+ "toggle": true
+ },
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ }
+ },
"zai/glm-4.5": {
"displayName": "GLM 4.5",
"description": "Hybrid-reasoning GLM release that made the 4.5 line broadly useful",
@@ -33390,7 +34187,7 @@
"description": "Flagship GLM model for long-horizon coding, agents, and complex project delivery",
"lifecycle": "active",
"contextWindow": 1000000,
- "maxOutputTokens": 12800,
+ "maxOutputTokens": 1000000,
"structuredOutput": true,
"lastUpdated": "2026-08-14",
"capabilities": {
@@ -33406,6 +34203,27 @@
"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",
+ "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",
@@ -33581,7 +34399,7 @@
},
"modalities": {
"input": ["text", "image", "pdf"],
- "output": ["image"]
+ "output": ["image", "pdf"]
}
},
"grok-imagine-image-2.0": {
@@ -33598,7 +34416,7 @@
},
"modalities": {
"input": ["text", "image", "pdf"],
- "output": ["image"]
+ "output": ["image", "pdf"]
}
},
"grok-imagine-image-quality": {
@@ -33615,7 +34433,7 @@
},
"modalities": {
"input": ["text", "image", "pdf"],
- "output": ["image"]
+ "output": ["image", "pdf"]
}
},
"grok-imagine-video": {
@@ -33631,8 +34449,8 @@
"functionCalling": false
},
"modalities": {
- "input": ["text", "image", "pdf"],
- "output": []
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["video"]
}
},
"grok-imagine-video-1.5": {
@@ -33649,7 +34467,7 @@
},
"modalities": {
"input": ["text", "image", "audio", "pdf"],
- "output": []
+ "output": ["video"]
}
}
},
@@ -33692,7 +34510,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "audio", "video", "pdf"],
"output": ["text"]
}
},
@@ -33734,7 +34552,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text"]
}
},
@@ -33840,7 +34658,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text"]
}
},
@@ -33980,7 +34798,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text"]
}
},
@@ -34120,7 +34938,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text"]
}
},
@@ -34283,7 +35101,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -34325,7 +35143,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -34476,6 +35294,48 @@
"output": ["text"]
}
},
+ "glm-5.3": {
+ "displayName": "GLM-5.3",
+ "description": "Flagship GLM model for long-horizon coding, agents, and complex project delivery",
+ "lifecycle": "active",
+ "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",
+ "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", "video", "pdf"],
+ "output": ["text"]
+ }
+ },
"glm-5v-turbo": {
"displayName": "GLM-5V-Turbo",
"description": "Fast GLM vision model for screenshots, documents, and multimodal agent tasks",
@@ -34492,7 +35352,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "pdf"],
+ "input": ["text", "image", "video", "pdf"],
"output": ["text"]
}
}
@@ -34607,6 +35467,50 @@
"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",
+ "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", "video", "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",
+ "contextWindow": 1000000,
+ "maxOutputTokens": 131072,
+ "structuredOutput": true,
+ "lastUpdated": "2026-08-14",
+ "isFree": true,
+ "capabilities": {
+ "vision": false,
+ "reasoning": true,
+ "functionCalling": true
+ },
+ "thinkingOptions": {
+ "efforts": ["low", "high", "max"]
+ },
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ }
}
},
"zenmux": {
@@ -34934,7 +35838,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -35100,7 +36004,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["pdf", "image", "text", "audio"],
+ "input": ["pdf", "image", "text", "audio", "video"],
"output": ["text"]
}
},
@@ -35143,7 +36047,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -35160,7 +36064,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text"]
}
},
@@ -35181,7 +36085,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "pdf", "audio"],
+ "input": ["text", "image", "pdf", "audio", "video"],
"output": ["text"]
}
},
@@ -35203,7 +36107,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
}
},
@@ -35390,8 +36294,8 @@
"displayName": "MiniMax-M3",
"description": "MiniMax multimodal model for long-context coding, perception, and agent planning",
"lifecycle": "active",
- "contextWindow": 512000,
- "maxOutputTokens": 128000,
+ "contextWindow": 1048576,
+ "maxOutputTokens": 512000,
"lastUpdated": "2026-06-01",
"capabilities": {
"vision": true,
@@ -35402,7 +36306,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -35477,7 +36381,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -35498,7 +36402,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -35517,7 +36421,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -35537,7 +36441,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -35559,7 +36463,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -35582,7 +36486,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -36159,7 +37063,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -36251,7 +37155,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -36274,7 +37178,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -36315,7 +37219,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -36354,7 +37258,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -36375,7 +37279,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -36396,7 +37300,7 @@
"efforts": ["low", "medium", "high"]
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -36513,7 +37417,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -36531,7 +37435,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -36651,7 +37555,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio", "pdf"],
+ "input": ["text", "image", "audio", "video", "pdf"],
"output": ["text"]
}
},
@@ -36693,7 +37597,7 @@
"toggle": true
},
"modalities": {
- "input": ["text", "image", "audio"],
+ "input": ["text", "image", "audio", "video"],
"output": ["text"]
}
},
@@ -36792,7 +37696,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -36810,7 +37714,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -36829,7 +37733,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image"],
+ "input": ["text", "image", "video"],
"output": ["text"]
}
},
@@ -37001,7 +37905,7 @@
"functionCalling": true
},
"modalities": {
- "input": ["text", "image", "pdf"],
+ "input": ["text", "image", "video", "pdf"],
"output": ["text"]
}
}
@@ -37237,16 +38141,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,
@@ -37357,6 +38251,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,
@@ -37436,17 +38337,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,
@@ -37555,7 +38445,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",
@@ -37662,16 +38554,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,
@@ -37722,11 +38604,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,
@@ -37756,6 +38633,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,
@@ -37989,6 +38873,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,
@@ -38300,19 +39196,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": "deepinfra:zai-org/GLM-5.3-Flash",
+ "inputUsdPer1M": 0.15,
+ "outputUsdPer1M": 0.5,
+ "cacheReadUsdPer1M": 0.03
},
{
- "modelKey": "deepseek:deepseek-reasoner",
+ "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
@@ -38323,24 +39225,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,
@@ -38353,18 +39243,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,
@@ -38389,12 +39285,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,
@@ -38437,24 +39327,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,
@@ -38598,11 +39470,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,
@@ -38661,6 +39528,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,
@@ -38922,6 +39794,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,
@@ -39015,6 +39892,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,
@@ -39210,6 +40097,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,
@@ -39311,12 +40204,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,
@@ -39492,6 +40395,11 @@
"inputUsdPer1M": 0,
"outputUsdPer1M": 0
},
+ {
+ "modelKey": "nvidia:moonshotai/kimi-k3",
+ "inputUsdPer1M": 0,
+ "outputUsdPer1M": 0
+ },
{
"modelKey": "nvidia:nvidia/active-speaker-detection",
"inputUsdPer1M": 0,
@@ -40315,6 +41223,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,
@@ -40504,22 +41418,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",
@@ -40529,9 +41443,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",
@@ -40556,11 +41470,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,
@@ -40589,7 +41498,7 @@
},
{
"modelKey": "openrouter:anthracite-org/magnum-v4-72b",
- "inputUsdPer1M": 3,
+ "inputUsdPer1M": 2.5,
"outputUsdPer1M": 5
},
{
@@ -40678,15 +41587,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,
@@ -40733,11 +41637,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,
@@ -40750,9 +41649,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",
@@ -40789,21 +41688,21 @@
},
{
"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
},
{
"modelKey": "openrouter:deepseek/deepseek-v4-flash-vision-exp",
- "inputUsdPer1M": 0.22,
- "outputUsdPer1M": 0.66,
- "cacheReadUsdPer1M": 0.007
+ "inputUsdPer1M": 0.44,
+ "outputUsdPer1M": 1.32,
+ "cacheReadUsdPer1M": 0.014
},
{
"modelKey": "openrouter:deepseek/deepseek-v4-pro",
@@ -40813,9 +41712,9 @@
},
{
"modelKey": "openrouter:deepseek/deepseek-v4-pro-0813",
- "inputUsdPer1M": 1.188,
- "outputUsdPer1M": 3.564,
- "cacheReadUsdPer1M": 0.0396
+ "inputUsdPer1M": 1.1154,
+ "outputUsdPer1M": 3.3462,
+ "cacheReadUsdPer1M": 0.03718
},
{
"modelKey": "openrouter:dots-studio/dots-3-note-preview:free",
@@ -40916,10 +41815,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",
@@ -40942,11 +41841,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,
@@ -40959,9 +41853,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",
@@ -40994,24 +41888,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,
@@ -41019,16 +41907,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",
@@ -41049,7 +41930,7 @@
},
{
"modelKey": "openrouter:mancer/weaver",
- "inputUsdPer1M": 0.5,
+ "inputUsdPer1M": 0.4,
"outputUsdPer1M": 0.75
},
{
@@ -41081,13 +41962,14 @@
},
{
"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",
@@ -41102,7 +41984,7 @@
{
"modelKey": "openrouter:meta/muse-glimmer-30b",
"inputUsdPer1M": 0.3,
- "outputUsdPer1M": 1.1,
+ "outputUsdPer1M": 1.2,
"cacheReadUsdPer1M": 0.04
},
{
@@ -41117,6 +41999,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,
@@ -41157,8 +42045,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",
@@ -41166,18 +42054,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,
@@ -41190,11 +42094,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,
@@ -41265,8 +42164,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",
@@ -41310,9 +42209,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",
@@ -41366,12 +42265,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",
@@ -41390,9 +42284,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",
@@ -41415,16 +42309,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,
@@ -41637,9 +42521,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",
@@ -41647,11 +42530,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,
@@ -41778,9 +42656,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",
@@ -41794,8 +42671,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",
@@ -41804,8 +42682,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",
@@ -41846,8 +42724,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",
@@ -41867,8 +42746,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",
@@ -41892,8 +42771,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",
@@ -41929,8 +42808,8 @@
},
{
"modelKey": "openrouter:qwen/qwen3.6-35b-a3b",
- "inputUsdPer1M": 0.14,
- "outputUsdPer1M": 1,
+ "inputUsdPer1M": 0.1,
+ "outputUsdPer1M": 0.9,
"cacheReadUsdPer1M": 0.05
},
{
@@ -41948,9 +42827,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",
@@ -42000,11 +42887,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,
@@ -42031,6 +42913,11 @@
"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,
@@ -42043,17 +42930,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,
@@ -42067,9 +42955,9 @@
},
{
"modelKey": "openrouter:thinkingmachines/inkling",
- "inputUsdPer1M": 0.95,
+ "inputUsdPer1M": 1,
"outputUsdPer1M": 4.05,
- "cacheReadUsdPer1M": 0.16
+ "cacheReadUsdPer1M": 0.17
},
{
"modelKey": "openrouter:thinkingmachines/inkling-small",
@@ -42077,6 +42965,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,
@@ -42131,9 +43029,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",
@@ -42173,9 +43071,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",
@@ -42188,6 +43086,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,
@@ -42707,6 +43611,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,
@@ -42721,6 +43637,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,
@@ -42869,13 +43791,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",
@@ -43011,11 +43947,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,
@@ -43075,21 +44006,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",
@@ -43163,6 +44100,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,
@@ -43208,6 +44150,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,
@@ -43328,6 +44280,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,
@@ -43341,6 +44298,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,
@@ -43356,16 +44319,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,
@@ -43438,7 +44391,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",
@@ -43570,11 +44523,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,
@@ -43759,17 +44707,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",
@@ -43819,11 +44767,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",
@@ -43861,12 +44813,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,
@@ -44020,9 +44966,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",
@@ -44048,6 +45000,12 @@
"outputUsdPer1M": 0.87,
"cacheReadUsdPer1M": 0.0036
},
+ {
+ "modelKey": "vercel:xiaomi/mimo-v2.5-pro-ultraspeed",
+ "inputUsdPer1M": 1.305,
+ "outputUsdPer1M": 2.61,
+ "cacheReadUsdPer1M": 0.0108
+ },
{
"modelKey": "vercel:zai/glm-4.5",
"inputUsdPer1M": 0.6,
@@ -44122,7 +45080,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",
@@ -44253,6 +45217,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,
@@ -45378,6 +46356,9 @@
"grok-4.5": {
"npm": "@ai-sdk/openai"
},
+ "grok-4.6": {
+ "npm": "@ai-sdk/openai"
+ },
"minimax-m2.5": {
"npm": "@ai-sdk/anthropic"
},
@@ -45389,6 +46370,9 @@
},
"muse-spark-1.2-contributor": {
"npm": "@ai-sdk/openai"
+ },
+ "qwen3.8-flash": {
+ "npm": "@ai-sdk/anthropic"
}
},
"openrouter": {},
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
(maka) 08/09: refactor(scripts): let one projector answer what a refresh changed
Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
Astro-Han pushed a commit to branch ci/4398-model-metadata-drift-check
in repository https://gitbox.apache.org/repos/asf/maka.git
commit 3b9a2562311906fe131cbeff49ac46da7dfd416e
Author: AstroHan <le...@outlook.com>
AuthorDate: Tue Sep 1 21:04:26 2026 +0800
refactor(scripts): let one projector answer what a refresh changed
The drift report re-implemented buildProjection's provider loop and then
hand-named the sections it compared, so it saw metadata and pricing and was
blind to providerFacts and providerOverrides. A renamed provider or a swapped
npm package reported "matches the committed snapshot" and then landed in the
snapshot on the next refresh anyway.
buildProjection now takes its failure policy as an argument: a refresh passes
none and aborts on the first bad shape, the report passes one and turns a bad
shape into its own finding instead of stopping the comparison. Both read the
projection's sections through one table, so a section added to the projection
is compared without editing the comparison.
MAXIMUM_ACKNOWLEDGED_REMOVALS goes with it. It counted projection paths, not
retired models -- this repository's own refresh spent 68 of its 100 on 31
retirements -- and the truncated catalog it guarded against is already caught
per provider, where buildProjection refuses a missing or empty models object.
Drift exits 2. Drift and a crash both reported 1, which left the one job that
has to tell them apart unable to.
Generated-by: Claude Code
---
scripts/sync-model-metadata.mjs | 270 +++++++++++++++++++++--------------
scripts/sync-model-metadata.test.mjs | 107 +++++++-------
2 files changed, 217 insertions(+), 160 deletions(-)
diff --git a/scripts/sync-model-metadata.mjs b/scripts/sync-model-metadata.mjs
index b1b74db6b3..5203456772 100644
--- a/scripts/sync-model-metadata.mjs
+++ b/scripts/sync-model-metadata.mjs
@@ -25,9 +25,10 @@ import { dirname } from 'node:path';
import { pathToFileURL } from 'node:url';
const SOURCE_URL = 'https://models.dev/api.json';
-// Must stay in step with ModelInfo['modalities'] in packages/core. A value
-// that reaches the projection but not the wire type fails the build; a value
-// missing here drops the whole refresh, not just the model that declares it.
+// This script runs before packages/core is built, so it cannot read
+// ModelModality itself. The build keeps the two in step: a value that reaches
+// the projection but not that type fails to compile. A value missing here
+// drops the whole refresh, not just the model that declares it.
const MODALITIES = new Set(['text', 'image', 'audio', 'pdf', 'video']);
const DEFAULT_SNAPSHOT = 'scripts/model-metadata/models-dev-api.snapshot.json';
const DEFAULT_OUTPUT = 'packages/core/src/model-metadata.generated.ts';
@@ -191,30 +192,25 @@ export async function main(argv = process.argv) {
await replaceFilesTransactionally(writes);
}
-function buildProjection(catalog) {
+// `options.onReject` decides what an unprojectable provider or model costs. A
+// refresh has none, so the first bad shape aborts the whole snapshot rather
+// than silently committing a catalog with a hole in it. The drift report
+// passes one, because there a bad shape is the finding it exists to print and
+// must not stop it comparing everything else.
+function buildProjection(catalog, options = {}) {
+ const onReject = options.onReject;
const metadata = {};
const pricing = [];
const providerFacts = {};
const providerOverrides = {};
for (const [providerType, sourceId] of Object.entries(PROVIDERS)) {
const provider = catalog[sourceId];
- if (!provider) {
- throw new Error(`models.dev provider ${sourceId} is missing`);
- }
- if (
- !provider.models ||
- typeof provider.models !== 'object' ||
- Array.isArray(provider.models) ||
- Object.keys(provider.models).length === 0
- ) {
- throw new Error(`models.dev provider ${sourceId} has no non-empty models object`);
- }
- if (
- typeof provider.id !== 'string' ||
- typeof provider.name !== 'string' ||
- typeof provider.doc !== 'string'
- ) {
- throw new Error(`models.dev provider ${sourceId} has an unsupported shape`);
+ try {
+ assertProviderShape(sourceId, provider);
+ } catch (error) {
+ if (!onReject) throw error;
+ onReject('provider', providerType, error);
+ continue;
}
providerFacts[providerType] = {
id: provider.id,
@@ -222,30 +218,59 @@ function buildProjection(catalog) {
...(typeof provider.api === 'string' ? { api: provider.api } : {}),
doc: provider.doc,
};
- metadata[providerType] = Object.fromEntries(
- Object.entries(provider.models)
- .sort(([left], [right]) => left.localeCompare(right))
- .map(([id, model]) => [id, toMetadata(sourceId, id, provider, model)]),
- );
- providerOverrides[providerType] = Object.fromEntries(
- Object.entries(provider.models)
- .sort(([left], [right]) => left.localeCompare(right))
- .filter(([, model]) => model.provider !== undefined)
- .map(([id, model]) => [id, toModelProviderOverride(sourceId, id, model.provider)]),
+ metadata[providerType] = {};
+ providerOverrides[providerType] = {};
+ const priced = !PRICING_EXCLUDED_PROVIDER_TYPES.has(providerType);
+ const models = Object.entries(provider.models).sort(([left], [right]) =>
+ left.localeCompare(right),
);
- if (!PRICING_EXCLUDED_PROVIDER_TYPES.has(providerType)) {
- pricing.push(
- ...Object.entries(provider.models)
- .sort(([left], [right]) => left.localeCompare(right))
- .map(([id, model]) => toPricing(providerType, id, model))
- .filter((pricing) => pricing !== undefined),
- );
+ for (const [id, model] of models) {
+ let projected;
+ try {
+ projected = {
+ metadata: toMetadata(sourceId, id, provider, model),
+ override:
+ model.provider === undefined
+ ? undefined
+ : toModelProviderOverride(sourceId, id, model.provider),
+ pricing: priced ? toPricing(providerType, id, model) : undefined,
+ };
+ } catch (error) {
+ if (!onReject) throw error;
+ onReject('model', `${providerType}/${id}`, error);
+ continue;
+ }
+ metadata[providerType][id] = projected.metadata;
+ if (projected.override !== undefined)
+ providerOverrides[providerType][id] = projected.override;
+ if (projected.pricing !== undefined) pricing.push(projected.pricing);
}
}
return { metadata, pricing, providerFacts, providerOverrides };
}
+function assertProviderShape(sourceId, provider) {
+ if (!provider) {
+ throw new Error(`models.dev provider ${sourceId} is missing`);
+ }
+ if (
+ !provider.models ||
+ typeof provider.models !== 'object' ||
+ Array.isArray(provider.models) ||
+ Object.keys(provider.models).length === 0
+ ) {
+ throw new Error(`models.dev provider ${sourceId} has no non-empty models object`);
+ }
+ if (
+ typeof provider.id !== 'string' ||
+ typeof provider.name !== 'string' ||
+ typeof provider.doc !== 'string'
+ ) {
+ throw new Error(`models.dev provider ${sourceId} has an unsupported shape`);
+ }
+}
+
async function readUpstream(refreshInputPath) {
if (refreshInputPath) {
return {
@@ -266,9 +291,9 @@ async function readUpstream(refreshInputPath) {
async function refreshSnapshot(snapshotPath, refreshInputPath, options = {}) {
const { text: sourceText, etag: sourceEtag, retrievedAt } = await readUpstream(refreshInputPath);
const projection = buildProjection(selectCatalog(JSON.parse(sourceText)));
- const previous = await loadSnapshotIfPresent(snapshotPath);
- if (previous) {
- assertAcceptableRemovals(previous.projection, projection, options.acceptUpstreamRemovals);
+ if (!options.acceptUpstreamRemovals) {
+ const previous = await loadSnapshotIfPresent(snapshotPath);
+ if (previous) assertProjectionDoesNotShrink(previous.projection, projection);
}
const projectionText = JSON.stringify(projection);
const snapshot = {
@@ -292,25 +317,14 @@ async function refreshSnapshot(snapshotPath, refreshInputPath, options = {}) {
};
}
-// What --accept-upstream-removals is for: a handful of models the provider
-// retired. An upstream outage serving a truncated catalog removes paths the
-// same way, so the acknowledgement stops here.
-const MAXIMUM_ACKNOWLEDGED_REMOVALS = 100;
-
-function assertAcceptableRemovals(previous, next, acknowledged) {
+function assertProjectionDoesNotShrink(previous, next) {
const removals = [];
collectProjectionRemovals(previous, next, [], removals);
if (removals.length === 0) return;
- if (!acknowledged) {
- throw new Error(
- `models.dev refresh would remove committed projection paths: ${removals.sort().join(', ')}; inspect the upstream change and rerun with --accept-upstream-removals to acknowledge it`,
- );
- }
- if (removals.length > MAXIMUM_ACKNOWLEDGED_REMOVALS) {
- throw new Error(
- `models.dev refresh would remove ${removals.length} committed projection paths, more than the ${MAXIMUM_ACKNOWLEDGED_REMOVALS} --accept-upstream-removals acknowledges; treat a change this size as an upstream outage`,
- );
- }
+
+ throw new Error(
+ `models.dev refresh would remove committed projection paths: ${removals.sort().join(', ')}; inspect the upstream change and rerun with --accept-upstream-removals to acknowledge it`,
+ );
}
function collectProjectionRemovals(previous, next, path, removals) {
@@ -374,57 +388,100 @@ function projectionPath(path) {
// instead of aborting the whole comparison the way a refresh does.
const DRIFT_LIST_LIMIT = 20;
+// Every section of the projection, flattened to one value per entity. The
+// report reads sections through this table instead of naming them itself,
+// which is how it went out comparing only two of the four. A section added to
+// buildProjection is compared here without touching the comparison.
+const PROJECTION_SECTIONS = {
+ metadata: entitiesByProviderAndModel,
+ // modelKey is `${providerType}:${id}`, so replacing the first colon yields
+ // the label every other section already uses.
+ pricing: (section) => new Map(section.map((entry) => [entry.modelKey.replace(':', '/'), entry])),
+ providerFacts: (section) => new Map(Object.entries(section)),
+ providerOverrides: entitiesByProviderAndModel,
+};
+
async function collectDrift(snapshot, refreshInputPath) {
- const catalog = JSON.parse((await readUpstream(refreshInputPath)).text);
- const previousMetadata = snapshot.projection.metadata;
- const previousPricing = new Map(
- snapshot.projection.pricing.map((entry) => [entry.modelKey, entry]),
- );
- const report = { missingProviders: [], unprojectable: [], added: [], removed: [], changed: [] };
- for (const [providerType, sourceId] of Object.entries(PROVIDERS)) {
- const provider = catalog[sourceId];
- const previousModels = previousMetadata[providerType] ?? {};
- const models = provider?.models;
- if (!models || typeof models !== 'object' || Array.isArray(models)) {
- report.missingProviders.push(`${providerType} (models.dev ${sourceId})`);
+ const rejectedProviders = [];
+ const rejectedModels = [];
+ const rejected = new Set();
+ // The raw catalog, not selectCatalog's: a provider that vanished upstream is
+ // the report's most important finding, and selectCatalog throws on it.
+ const upstream = buildProjection(JSON.parse((await readUpstream(refreshInputPath)).text), {
+ onReject: (kind, label, error) => {
+ rejected.add(label);
+ (kind === 'provider' ? rejectedProviders : rejectedModels).push(`${label}: ${error.message}`);
+ },
+ });
+ const previous = projectionEntities(snapshot.projection);
+ const next = projectionEntities(upstream);
+ const report = { rejectedProviders, rejectedModels, added: [], removed: [], changed: [] };
+ for (const label of [...new Set([...previous.keys(), ...next.keys()])].sort()) {
+ const before = previous.get(label);
+ const after = next.get(label);
+ if (before === undefined) {
+ report.added.push(label);
continue;
}
- const priced = !PRICING_EXCLUDED_PROVIDER_TYPES.has(providerType);
- const ids = [...new Set([...Object.keys(previousModels), ...Object.keys(models)])].sort();
- for (const id of ids) {
- const model = models[id];
- const previous = previousModels[id];
- if (model === undefined) {
- report.removed.push(`${providerType}/${id}`);
- continue;
- }
- let metadata;
- let pricing;
- try {
- metadata = toMetadata(sourceId, id, provider, model);
- pricing = priced ? toPricing(providerType, id, model) : undefined;
- } catch (error) {
- report.unprojectable.push(`${providerType}/${id}: ${error.message}`);
- continue;
- }
- if (previous === undefined) {
- report.added.push(`${providerType}/${id}`);
- continue;
- }
- const fields = driftedFields(previous, metadata);
- if (priced && !sameValue(previousPricing.get(`${providerType}:${id}`), pricing)) {
- fields.push('pricing');
- }
- if (fields.length > 0) report.changed.push(`${providerType}/${id}: ${fields.join(', ')}`);
+ if (after === undefined) {
+ // A shape the projector rejected already has its own finding above. It
+ // is not upstream saying the entity is gone.
+ if (!isRejected(label, rejected)) report.removed.push(label);
+ continue;
}
+ const fields = driftedFields(before, after);
+ if (fields.length > 0) report.changed.push(`${label}: ${fields.join(', ')}`);
}
const drifted = Object.values(report).some((entries) => entries.length > 0);
return { ...report, drifted };
}
+function entitiesByProviderAndModel(section) {
+ const entities = new Map();
+ for (const [providerType, models] of Object.entries(section)) {
+ for (const [id, value] of Object.entries(models)) entities.set(`${providerType}/${id}`, value);
+ }
+ return entities;
+}
+
+function projectionEntities(projection) {
+ const entities = new Map();
+ for (const [section, flatten] of Object.entries(PROJECTION_SECTIONS)) {
+ for (const [label, value] of flatten(projection[section])) {
+ const entity = entities.get(label);
+ if (entity) entity[section] = value;
+ else entities.set(label, { [section]: value });
+ }
+ }
+ return entities;
+}
+
+function isRejected(label, rejected) {
+ if (rejected.has(label)) return true;
+ const slash = label.indexOf('/');
+ return slash !== -1 && rejected.has(label.slice(0, slash));
+}
+
function driftedFields(previous, next) {
- const keys = [...new Set([...Object.keys(previous), ...Object.keys(next)])].sort();
- return keys.filter((key) => !sameValue(previous[key], next[key]));
+ const fields = [];
+ for (const section of Object.keys(PROJECTION_SECTIONS)) {
+ const before = previous[section];
+ const after = next[section];
+ if (sameValue(before, after)) continue;
+ if (isPlainObject(before) && isPlainObject(after)) {
+ const keys = [...new Set([...Object.keys(before), ...Object.keys(after)])].sort();
+ for (const key of keys) {
+ if (!sameValue(before[key], after[key])) fields.push(`${section}.${key}`);
+ }
+ continue;
+ }
+ fields.push(section);
+ }
+ return fields;
+}
+
+function isPlainObject(value) {
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
}
// Both sides are projector output, so their keys are already in one order.
@@ -435,11 +492,11 @@ function sameValue(left, right) {
function formatDrift(report) {
const lines = [];
for (const [label, entries] of [
- ['providers missing upstream', report.missingProviders],
- ['models the projector rejects', report.unprojectable],
- ['models upstream has and the snapshot does not', report.added],
- ['models the snapshot has and upstream does not', report.removed],
- ['models whose projection changed', report.changed],
+ ['providers the projector rejects', report.rejectedProviders],
+ ['models the projector rejects', report.rejectedModels],
+ ['entries upstream has and the snapshot does not', report.added],
+ ['entries the snapshot has and upstream does not', report.removed],
+ ['entries whose projection changed', report.changed],
]) {
if (entries.length === 0) continue;
lines.push(`${label}: ${entries.length}`);
@@ -818,9 +875,10 @@ function buildPricingModule(pricing, source) {
}
if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
- // Drift is a finding, not a crash: the report has already been printed, and
- // the exit code is what a scheduled job branches on.
- if ((await main())?.drifted) process.exitCode = 1;
+ // Drift is a finding, not a crash. Exit 2 so a caller can tell "upstream
+ // moved" from "this command failed"; both reported 1 before, which made the
+ // difference unreadable to the one job that has to act on it.
+ if ((await main())?.drifted) process.exitCode = 2;
}
function option(name, argv) {
diff --git a/scripts/sync-model-metadata.test.mjs b/scripts/sync-model-metadata.test.mjs
index eecdf11c5a..52c1e35cbf 100644
--- a/scripts/sync-model-metadata.test.mjs
+++ b/scripts/sync-model-metadata.test.mjs
@@ -340,7 +340,13 @@ test('drift finds nothing when the snapshot still matches upstream', async () =>
const { report } = await drift(['--snapshot', snapshot, '--refresh-input', input]);
assert.equal(report.drifted, false);
assert.deepEqual(
- [report.added, report.removed, report.changed, report.unprojectable, report.missingProviders],
+ [
+ report.added,
+ report.removed,
+ report.changed,
+ report.rejectedModels,
+ report.rejectedProviders,
+ ],
[[], [], [], [], []],
);
} finally {
@@ -382,10 +388,52 @@ test('drift separates a rejected shape from a real upstream difference', async (
assert.equal(report.drifted, true);
assert.deepEqual(report.added, ['anthropic/added']);
assert.deepEqual(report.removed, ['anthropic/legacy']);
- assert.deepEqual(report.changed, ['anthropic/model: displayName, pricing']);
- assert.deepEqual(report.missingProviders, ['openai (models.dev openai)']);
- assert.equal(report.unprojectable.length, 1);
- assert.match(report.unprojectable[0], /^groq\/model: .*unsupported modalities/u);
+ assert.deepEqual(report.changed, [
+ 'anthropic/model: metadata.displayName, pricing.inputUsdPer1M, pricing.outputUsdPer1M',
+ ]);
+ assert.equal(report.rejectedProviders.length, 1);
+ assert.match(report.rejectedProviders[0], /^openai: .*provider openai is missing/u);
+ assert.equal(report.rejectedModels.length, 1);
+ assert.match(report.rejectedModels[0], /^groq\/model: .*unsupported modalities/u);
+ } finally {
+ await rm(root, { recursive: true, force: true });
+ }
+});
+
+test('drift reports the projection sections that carry no model metadata', async () => {
+ const root = await mkdtemp(join(tmpdir(), 'maka-model-drift-sections-'));
+ try {
+ const committed = join(root, 'api.json');
+ const upstream = join(root, 'upstream.json');
+ const snapshot = join(root, 'snapshot.json');
+ const before = fixtureCatalog();
+ before.anthropic.models.model.provider = { npm: '@example/before' };
+ await writeFile(committed, JSON.stringify(before));
+ await main([
+ 'node',
+ 'sync-model-metadata.mjs',
+ '--refresh',
+ '--refresh-input',
+ committed,
+ '--snapshot',
+ snapshot,
+ '--output',
+ join(root, 'metadata.ts'),
+ ]);
+
+ // Neither a renamed provider nor a swapped npm package touches a model's
+ // metadata or its pricing, which is all the report used to compare.
+ const after = JSON.parse(JSON.stringify(before));
+ after.anthropic.name = 'Anthropic Renamed';
+ after.anthropic.models.model.provider = { npm: '@example/after' };
+ await writeFile(upstream, JSON.stringify(after));
+
+ const { report } = await drift(['--snapshot', snapshot, '--refresh-input', upstream]);
+ assert.equal(report.drifted, true);
+ assert.deepEqual(report.changed, [
+ 'anthropic: providerFacts.name',
+ 'anthropic/model: providerOverrides.npm',
+ ]);
} finally {
await rm(root, { recursive: true, force: true });
}
@@ -485,55 +533,6 @@ test('refresh rejects a partial provider shrink until it is explicitly accepted'
}
});
-test('accepting upstream removals still refuses a truncated catalog', async () => {
- const root = await mkdtemp(join(tmpdir(), 'maka-model-snapshot-truncated-'));
- try {
- const committed = join(root, 'api.json');
- const outage = join(root, 'outage.json');
- const snapshot = join(root, 'snapshot.json');
- const metadata = join(root, 'metadata.ts');
- const full = fixtureCatalog();
- for (const provider of Object.values(full)) {
- const [model] = Object.values(provider.models);
- if (!model) continue;
- for (const suffix of ['b', 'c', 'd']) provider.models[`model-${suffix}`] = { ...model };
- }
- await writeFile(committed, JSON.stringify(full));
- await writeFile(outage, JSON.stringify(fixtureCatalog()));
- await main([
- 'node',
- 'sync-model-metadata.mjs',
- '--refresh',
- '--refresh-input',
- committed,
- '--snapshot',
- snapshot,
- '--output',
- metadata,
- ]);
- const committedSnapshot = await readFile(snapshot, 'utf8');
-
- await assert.rejects(
- main([
- 'node',
- 'sync-model-metadata.mjs',
- '--refresh',
- '--accept-upstream-removals',
- '--refresh-input',
- outage,
- '--snapshot',
- snapshot,
- '--output',
- metadata,
- ]),
- /more than the 100 --accept-upstream-removals acknowledges/u,
- );
- assert.equal(await readFile(snapshot, 'utf8'), committedSnapshot);
- } finally {
- await rm(root, { recursive: true, force: true });
- }
-});
-
test('refresh rejects lost pricing coverage from an otherwise valid model', async () => {
const root = await mkdtemp(join(tmpdir(), 'maka-model-snapshot-pricing-shrink-'));
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
(maka) 07/09: refactor(core): give the model modality set one owner
Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
Astro-Han pushed a commit to branch ci/4398-model-metadata-drift-check
in repository https://gitbox.apache.org/repos/asf/maka.git
commit e8a95e104b0aada0162c072fb241d0e639b9f839
Author: AstroHan <le...@outlook.com>
AuthorDate: Tue Sep 1 21:04:19 2026 +0800
refactor(core): give the model modality set one owner
Five hand-written copies of `text | image | audio | pdf | video` existed: the
wire type, the model-facts overlay normalizer, the catalog decoder, the
projector's MODALITIES guard, and model-fetcher's knownOutputModalities. The
epoch-88 widening updated four and missed the fifth, so a live-fetched model
declaring `output: ["video"]` is still offered as a chat default while the
same model from bundled metadata is excluded.
The type owns the set now and every validator that admits a modality reads
it. The projector keeps a copy because it runs before packages/core is built;
the build is what keeps that one honest, since a value that reaches the
projection but not the type fails to compile.
Generated-by: Claude Code
---
packages/core/src/llm-connections.ts | 18 ++++++++++++++++--
packages/core/src/model-facts.ts | 14 +++-----------
.../src/runtime-policy/connection-catalog-codec.ts | 15 ++++-----------
packages/runtime/src/model-fetcher.ts | 9 ++++-----
4 files changed, 27 insertions(+), 29 deletions(-)
diff --git a/packages/core/src/llm-connections.ts b/packages/core/src/llm-connections.ts
index 232a3a60e3..1d6c605d19 100644
--- a/packages/core/src/llm-connections.ts
+++ b/packages/core/src/llm-connections.ts
@@ -86,6 +86,20 @@ export type ConnectionAuth =
| { kind: 'oauth_token'; oauthToken: string; expiresAt?: number }
| { kind: 'none' };
+/**
+ * The modalities a model may declare on either side. Every validator that
+ * admits a modality reads this one set: a decoder, an overlay normalizer, and
+ * a live-fetch reader each holding their own copy is how one of them stayed a
+ * catalog behind the others.
+ */
+export type ModelModality = 'text' | 'image' | 'audio' | 'pdf' | 'video';
+
+const MODEL_MODALITIES: readonly ModelModality[] = ['text', 'image', 'audio', 'pdf', 'video'];
+
+export function isModelModality(value: unknown): value is ModelModality {
+ return MODEL_MODALITIES.includes(value as ModelModality);
+}
+
export interface ModelInfo {
id: string;
displayName?: string;
@@ -116,8 +130,8 @@ export interface ModelInfo {
};
/** Multimodal input/output support from provider catalog metadata. */
modalities?: {
- input: Array<'text' | 'image' | 'audio' | 'pdf' | 'video'>;
- output: Array<'text' | 'image' | 'audio' | 'pdf' | 'video'>;
+ input: ModelModality[];
+ output: ModelModality[];
};
/**
* Read-time provenance for values overlaid from model-facts.json. This is
diff --git a/packages/core/src/model-facts.ts b/packages/core/src/model-facts.ts
index 11336a5dfd..7b166481e9 100644
--- a/packages/core/src/model-facts.ts
+++ b/packages/core/src/model-facts.ts
@@ -18,6 +18,7 @@
*/
import { providerDefaultsOf, type ProviderType } from './provider-registry.js';
+import { isModelModality } from './llm-connections.js';
import type { ModelFactField, ModelInfo } from './llm-connections.js';
import {
CONNECTION_CATALOG_MAX_MODELS_PER_CONNECTION,
@@ -193,8 +194,8 @@ function normalizeModalities(value: unknown): NonNullable<ModelFactOverride['mod
if (!isRecord(value)) throw new Error('Invalid modalities');
if (value.input === undefined && value.output === undefined)
throw new Error('Invalid modalities');
- const input = normalizeModalityDirection(value.input, isModality);
- const output = normalizeModalityDirection(value.output, isModality);
+ const input = normalizeModalityDirection(value.input, isModelModality);
+ const output = normalizeModalityDirection(value.output, isModelModality);
return {
...(input === undefined ? {} : { input }),
...(output === undefined ? {} : { output }),
@@ -212,15 +213,6 @@ function normalizeModalityDirection<T extends string>(
return [...new Set(entries)];
}
-function isModality(value: unknown): value is 'text' | 'image' | 'audio' | 'pdf' | 'video' {
- return (
- value === 'text' ||
- value === 'image' ||
- value === 'audio' ||
- value === 'pdf' ||
- value === 'video'
- );
-}
function isPositiveBoundedInteger(value: unknown): value is number {
return (
typeof value === 'number' &&
diff --git a/packages/core/src/runtime-policy/connection-catalog-codec.ts b/packages/core/src/runtime-policy/connection-catalog-codec.ts
index 9292b69cfe..cf2664fed8 100644
--- a/packages/core/src/runtime-policy/connection-catalog-codec.ts
+++ b/packages/core/src/runtime-policy/connection-catalog-codec.ts
@@ -18,10 +18,12 @@
*/
import {
+ isModelModality,
isRelayProviderType,
PROVIDER_REGISTRY,
providerDefaultsOf,
validateSlug,
+ type ModelModality,
type ProviderType,
} from '../llm-connections.js';
import { MAX_PREPENDED_FALLBACK_MODELS } from '../model-catalog.js';
@@ -608,18 +610,9 @@ function decodeModelModalities(value: unknown): NonNullable<ConnectionModel['mod
// Both directions accept the same set. models.dev declares video on either
// side and pdf on both, so splitting them again only invites one direction to
// drift behind the catalog it decodes.
-function decodeModelModality(
- value: unknown,
- direction: 'input' | 'output',
-): 'text' | 'image' | 'audio' | 'pdf' | 'video' {
+function decodeModelModality(value: unknown, direction: 'input' | 'output'): ModelModality {
const modality = stringValue(value, `connection model ${direction} modality`, 16);
- if (
- modality !== 'text' &&
- modality !== 'image' &&
- modality !== 'audio' &&
- modality !== 'pdf' &&
- modality !== 'video'
- ) {
+ if (!isModelModality(modality)) {
throw domainError(`connection model ${direction} modality is invalid`);
}
return modality;
diff --git a/packages/runtime/src/model-fetcher.ts b/packages/runtime/src/model-fetcher.ts
index 14de28638c..e886114c3e 100644
--- a/packages/runtime/src/model-fetcher.ts
+++ b/packages/runtime/src/model-fetcher.ts
@@ -21,9 +21,11 @@ import {
PROVIDER_REGISTRY,
providerFallbackModelIds,
effectiveBaseUrl,
+ isModelModality,
providerAuthSupportsApiKey,
type LlmConnection,
type ModelInfo,
+ type ModelModality,
} from '@maka/core/llm-connections';
import { generalizedErrorMessage } from '@maka/core/redaction';
import {
@@ -883,12 +885,9 @@ function providerObjectArray<T extends object>(
* non-string — is dropped rather than guessed at, so an unrecognized list
* reads as "said nothing" instead of "said not text".
*/
-function knownOutputModalities(declared: readonly unknown[] | undefined): string[] {
+function knownOutputModalities(declared: readonly unknown[] | undefined): ModelModality[] {
if (declared === undefined) return [];
- return declared.filter(
- (value): value is 'text' | 'image' | 'audio' =>
- value === 'text' || value === 'image' || value === 'audio',
- );
+ return declared.filter(isModelModality);
}
function assertOptionalArray(
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org