diff --git a/.changeset/ai-models-catalog.md b/.changeset/ai-models-catalog.md
new file mode 100644
index 0000000000..158b655642
--- /dev/null
+++ b/.changeset/ai-models-catalog.md
@@ -0,0 +1,9 @@
+---
+'@tanstack/ai-models': minor
+---
+
+New package: a runtime catalog of 1,853 models across 38 providers, generated from models.dev and the OpenRouter and Vercel AI Gateway model lists. `getProviders`, `getModels`, and `getModel` return each model's id, input modalities, context window, output limit, prices, reasoning data, and request quirks (`compat`). A record's `reasoning` has the `ModelReasoning` shape of `@tanstack/ai` (`false`, or `{ levels, budget }`). `supportedReasoningLevels`, `clampReasoningLevel`, and `modelCost` work on a record, and `generatedAt` is the date of the data. Each provider also has its own subpath, for example `@tanstack/ai-models/deepseek`.
+
+`modelCost` prices long context and 1-hour cache writes. A record's `cost.tiers` (from models.dev) holds higher prices above an input size, and a call uses the tier with the highest `inputTokensAbove` below its input. `TokenCounts.cacheWrite1h`, the part of `cacheWrite` with a 1-hour retention, costs 2 times the input price.
+
+The `google-vertex` and `azure-openai-responses` providers have only the models on their own wire, so no Claude models. Use `anthropicVertexText` from `@tanstack/ai-anthropic/vertex` for Claude on Vertex. Embedding, reranking, and transcription models are not in the catalog.
diff --git a/docs/config.json b/docs/config.json
index ba16ab89da..e9573bfb41 100644
--- a/docs/config.json
+++ b/docs/config.json
@@ -1634,6 +1634,11 @@
"to": "advanced/extend-adapter-advanced",
"addedAt": "2026-10-21"
},
+ {
+ "label": "Model Catalog",
+ "to": "models/catalog",
+ "addedAt": "2026-10-14"
+ },
{
"label": "Typed Pre-Configured Options",
"to": "advanced/typed-options",
diff --git a/docs/models/catalog.md b/docs/models/catalog.md
new file mode 100644
index 0000000000..491e4f76e1
--- /dev/null
+++ b/docs/models/catalog.md
@@ -0,0 +1,125 @@
+---
+title: Model Catalog
+id: catalog
+description: "Look up models, reasoning levels, prices, and context windows at runtime with @tanstack/ai-models."
+keywords:
+ - tanstack ai
+ - model catalog
+ - models.dev
+ - model metadata
+ - reasoning levels
+ - model pricing
+---
+
+A model picker, a cost display, or a settings menu needs facts about models at runtime: which models a provider has, which reasoning levels a model takes, and what a call costs. `@tanstack/ai-models` is a catalog of that data for more than 1,800 models across 38 providers.
+
+## Install
+
+
+
+react: @tanstack/ai-models
+vue: @tanstack/ai-models
+solid: @tanstack/ai-models
+svelte: @tanstack/ai-models
+preact: @tanstack/ai-models
+angular: @tanstack/ai-models
+vanilla: @tanstack/ai-models
+octane: @tanstack/ai-models
+
+
+
+## Look up a model
+
+```typescript
+import { getModel, getModels, getProviders } from "@tanstack/ai-models";
+
+const providers = getProviders(); // every provider: id, name, baseUrl, env
+const deepseekModels = getModels("deepseek"); // every DeepSeek model
+const model = getModel("deepseek", "deepseek-v4-flash");
+
+console.log(model?.contextWindow, model?.maxTokens, model?.input);
+```
+
+Each record has the model's `id`, `name`, `input` modalities, `contextWindow`, `maxTokens`, prices, and reasoning data. `getModel` returns `undefined` for a model the catalog does not have.
+
+The `google-vertex` provider has the Gemini models only. For Claude on Vertex, use `anthropicVertexText` from `@tanstack/ai-anthropic/vertex`.
+
+## Show the reasoning levels
+
+`supportedReasoningLevels` gives the levels a model takes. Use it to fill a menu:
+
+```typescript
+import { getModel, supportedReasoningLevels } from "@tanstack/ai-models";
+
+const model = getModel("deepseek", "deepseek-v4-flash");
+const levels = model ? supportedReasoningLevels(model) : [];
+// ["off", "low", "high", "max"]
+```
+
+`clampReasoningLevel(model, level)` gives the nearest level the model has, for a level it does not have. Pass the level to [`chat({ reasoning })`](../chat/reasoning).
+
+A record's `reasoning` is `false` for a model that does not reason. Otherwise it has two fields:
+
+- `levels`: the provider value to send for each level the model has.
+- `budget`: `true` when the model takes a thinking token budget.
+
+This is the same shape as `ModelReasoning` in `@tanstack/ai`.
+
+## Work out what a call cost
+
+Prices are in USD per million tokens. `modelCost` turns token counts into a cost. `input` is the uncached input:
+
+```typescript
+import { getModel, modelCost } from "@tanstack/ai-models";
+
+const model = getModel("openai", "gpt-5.6");
+if (model) {
+ const cost = modelCost(model, { input: 12_000, output: 800 });
+ console.log(cost.total.toFixed(4));
+}
+```
+
+`modelCost` also uses two price rules:
+
+- **Long context.** Some models cost more above an input size. The record lists these prices in `cost.tiers`. A call uses the tier with the highest `inputTokensAbove` below its input (uncached, plus cache reads, plus cache writes).
+- **1-hour cache writes.** `cacheWrite1h` is the part of `cacheWrite` that has a 1-hour retention. It costs 2 times the input price.
+
+To price each call of a chat, read its usage in middleware:
+
+```typescript
+import type { ChatMiddleware } from "@tanstack/ai";
+import { getModel, modelCost } from "@tanstack/ai-models";
+
+const model = getModel("anthropic", "claude-sonnet-5-5");
+
+const logCost: ChatMiddleware = {
+ name: "log-cost",
+ onUsage(_ctx, usage) {
+ if (!model) return;
+ const details = usage.promptTokensDetails;
+ const cacheRead = details?.cachedTokens ?? 0;
+ const cacheWrite = details?.cacheWriteTokens ?? 0;
+ const cost = modelCost(model, {
+ input: usage.promptTokens - cacheRead - cacheWrite,
+ output: usage.completionTokens,
+ cacheRead,
+ cacheWrite,
+ });
+ console.log(cost.total.toFixed(4));
+ },
+};
+```
+
+## Load one provider only
+
+The root import has every provider. To load only one, import its subpath:
+
+```typescript
+import { models, provider } from "@tanstack/ai-models/deepseek";
+
+console.log(provider.baseUrl, models.length);
+```
+
+## Keep it up to date
+
+The catalog comes from [models.dev](https://models.dev) and the OpenRouter and Vercel AI Gateway model lists. `generatedAt` is the date of the last update. A record with `borrowedFrom` took its data from the same model at another provider.
diff --git a/package.json b/package.json
index 2a12ce279a..87140d1f8b 100644
--- a/package.json
+++ b/package.json
@@ -48,8 +48,8 @@
"generate:fal-image-fields": "tsx scripts/generate-fal-image-field-map.ts",
"generate:models": "pnpm generate:models:fetch && pnpm regenerate:models && tsx scripts/sync-elevenlabs-models.ts && tsx scripts/sync-provider-models.ts && pnpm format",
"generate:models:elevenlabs": "tsx scripts/sync-elevenlabs-models.ts",
- "generate:models:fetch": "tsx scripts/fetch-openrouter-models.ts && tsx scripts/fetch-vercel-gateway-models.ts && tsx scripts/fetch-lovable-gateway-models.ts && node scripts/fetch-llmgateway-models.ts",
- "regenerate:models": "tsx scripts/convert-openrouter-models.ts && tsx scripts/convert-vercel-gateway-models.ts && node scripts/convert-llmgateway-models.ts",
+ "generate:models:fetch": "tsx scripts/fetch-openrouter-models.ts && tsx scripts/fetch-vercel-gateway-models.ts && tsx scripts/fetch-lovable-gateway-models.ts && node scripts/fetch-llmgateway-models.ts && tsx scripts/fetch-models-dev.ts",
+ "regenerate:models": "tsx scripts/convert-openrouter-models.ts && tsx scripts/convert-vercel-gateway-models.ts && node scripts/convert-llmgateway-models.ts && tsx scripts/generate-ai-models.ts",
"sync-docs-config": "node scripts/sync-docs-config.ts",
"copy:readme": "node scripts/copy-readme.js",
"changeset": "changeset",
diff --git a/packages/ai-models/LICENSE b/packages/ai-models/LICENSE
new file mode 100644
index 0000000000..308cb68dc0
--- /dev/null
+++ b/packages/ai-models/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 Tanner Linsley
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/ai-models/README.md b/packages/ai-models/README.md
new file mode 100644
index 0000000000..d616264131
--- /dev/null
+++ b/packages/ai-models/README.md
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+# @tanstack/ai-models
+
+A model catalog you can read at runtime: each model's context window, price, reasoning levels, input kinds, and wire quirks, for about 1,850 models across 38 providers.
+
+```ts
+import { getModel, modelCost, clampReasoningLevel } from '@tanstack/ai-models'
+
+const model = getModel('deepseek', 'deepseek-v4-flash')
+if (model) {
+ model.contextWindow // 1000000
+ modelCost(model, { input: 12_000, output: 800 }).total // USD
+ clampReasoningLevel(model, 'medium') // 'high': the nearest level the model has
+}
+```
+
+- No dependencies, and no Node.js APIs, so it runs on edge runtimes too.
+- One subpath per provider (`@tanstack/ai-models/deepseek`), so a build ships only the providers it imports.
+- The data comes from [models.dev](https://models.dev) and the OpenRouter and Vercel model lists. `pnpm generate:models` refreshes it.
+
+Read the guide: [Model catalog](https://tanstack.com/ai/latest/docs/models/catalog).
diff --git a/packages/ai-models/package.json b/packages/ai-models/package.json
new file mode 100644
index 0000000000..1dc57084aa
--- /dev/null
+++ b/packages/ai-models/package.json
@@ -0,0 +1,213 @@
+{
+ "name": "@tanstack/ai-models",
+ "version": "0.0.0",
+ "description": "A runtime model catalog for TanStack AI: context windows, prices, reasoning levels, and wire quirks per provider.",
+ "author": "Tanner Linsley",
+ "license": "MIT",
+ "homepage": "https://tanstack.com/ai",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/TanStack/ai.git",
+ "directory": "packages/ai-models"
+ },
+ "bugs": {
+ "url": "https://github.com/TanStack/ai/issues"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "type": "module",
+ "sideEffects": false,
+ "module": "./dist/esm/index.js",
+ "types": "./dist/esm/index.d.ts",
+ "exports": {
+ ".": {
+ "types": "./dist/esm/index.d.ts",
+ "import": "./dist/esm/index.js"
+ },
+ "./amazon-bedrock": {
+ "types": "./dist/esm/providers/amazon-bedrock.d.ts",
+ "import": "./dist/esm/providers/amazon-bedrock.js"
+ },
+ "./ant-ling": {
+ "types": "./dist/esm/providers/ant-ling.d.ts",
+ "import": "./dist/esm/providers/ant-ling.js"
+ },
+ "./anthropic": {
+ "types": "./dist/esm/providers/anthropic.d.ts",
+ "import": "./dist/esm/providers/anthropic.js"
+ },
+ "./azure-openai-responses": {
+ "types": "./dist/esm/providers/azure-openai-responses.d.ts",
+ "import": "./dist/esm/providers/azure-openai-responses.js"
+ },
+ "./baseten": {
+ "types": "./dist/esm/providers/baseten.d.ts",
+ "import": "./dist/esm/providers/baseten.js"
+ },
+ "./cerebras": {
+ "types": "./dist/esm/providers/cerebras.d.ts",
+ "import": "./dist/esm/providers/cerebras.js"
+ },
+ "./cloudflare-ai-gateway": {
+ "types": "./dist/esm/providers/cloudflare-ai-gateway.d.ts",
+ "import": "./dist/esm/providers/cloudflare-ai-gateway.js"
+ },
+ "./cloudflare-workers-ai": {
+ "types": "./dist/esm/providers/cloudflare-workers-ai.d.ts",
+ "import": "./dist/esm/providers/cloudflare-workers-ai.js"
+ },
+ "./deepseek": {
+ "types": "./dist/esm/providers/deepseek.d.ts",
+ "import": "./dist/esm/providers/deepseek.js"
+ },
+ "./fireworks": {
+ "types": "./dist/esm/providers/fireworks.d.ts",
+ "import": "./dist/esm/providers/fireworks.js"
+ },
+ "./google": {
+ "types": "./dist/esm/providers/google.d.ts",
+ "import": "./dist/esm/providers/google.js"
+ },
+ "./google-vertex": {
+ "types": "./dist/esm/providers/google-vertex.d.ts",
+ "import": "./dist/esm/providers/google-vertex.js"
+ },
+ "./groq": {
+ "types": "./dist/esm/providers/groq.d.ts",
+ "import": "./dist/esm/providers/groq.js"
+ },
+ "./huggingface": {
+ "types": "./dist/esm/providers/huggingface.d.ts",
+ "import": "./dist/esm/providers/huggingface.js"
+ },
+ "./kimi-coding": {
+ "types": "./dist/esm/providers/kimi-coding.d.ts",
+ "import": "./dist/esm/providers/kimi-coding.js"
+ },
+ "./meta": {
+ "types": "./dist/esm/providers/meta.d.ts",
+ "import": "./dist/esm/providers/meta.js"
+ },
+ "./minimax": {
+ "types": "./dist/esm/providers/minimax.d.ts",
+ "import": "./dist/esm/providers/minimax.js"
+ },
+ "./minimax-cn": {
+ "types": "./dist/esm/providers/minimax-cn.d.ts",
+ "import": "./dist/esm/providers/minimax-cn.js"
+ },
+ "./mistral": {
+ "types": "./dist/esm/providers/mistral.d.ts",
+ "import": "./dist/esm/providers/mistral.js"
+ },
+ "./moonshotai": {
+ "types": "./dist/esm/providers/moonshotai.d.ts",
+ "import": "./dist/esm/providers/moonshotai.js"
+ },
+ "./moonshotai-cn": {
+ "types": "./dist/esm/providers/moonshotai-cn.d.ts",
+ "import": "./dist/esm/providers/moonshotai-cn.js"
+ },
+ "./nvidia": {
+ "types": "./dist/esm/providers/nvidia.d.ts",
+ "import": "./dist/esm/providers/nvidia.js"
+ },
+ "./openai": {
+ "types": "./dist/esm/providers/openai.d.ts",
+ "import": "./dist/esm/providers/openai.js"
+ },
+ "./opencode": {
+ "types": "./dist/esm/providers/opencode.d.ts",
+ "import": "./dist/esm/providers/opencode.js"
+ },
+ "./opencode-go": {
+ "types": "./dist/esm/providers/opencode-go.d.ts",
+ "import": "./dist/esm/providers/opencode-go.js"
+ },
+ "./openrouter": {
+ "types": "./dist/esm/providers/openrouter.d.ts",
+ "import": "./dist/esm/providers/openrouter.js"
+ },
+ "./qwen-token-plan": {
+ "types": "./dist/esm/providers/qwen-token-plan.d.ts",
+ "import": "./dist/esm/providers/qwen-token-plan.js"
+ },
+ "./qwen-token-plan-cn": {
+ "types": "./dist/esm/providers/qwen-token-plan-cn.d.ts",
+ "import": "./dist/esm/providers/qwen-token-plan-cn.js"
+ },
+ "./qwen-token-plan-individual": {
+ "types": "./dist/esm/providers/qwen-token-plan-individual.d.ts",
+ "import": "./dist/esm/providers/qwen-token-plan-individual.js"
+ },
+ "./together": {
+ "types": "./dist/esm/providers/together.d.ts",
+ "import": "./dist/esm/providers/together.js"
+ },
+ "./vercel-ai-gateway": {
+ "types": "./dist/esm/providers/vercel-ai-gateway.d.ts",
+ "import": "./dist/esm/providers/vercel-ai-gateway.js"
+ },
+ "./xai": {
+ "types": "./dist/esm/providers/xai.d.ts",
+ "import": "./dist/esm/providers/xai.js"
+ },
+ "./xiaomi": {
+ "types": "./dist/esm/providers/xiaomi.d.ts",
+ "import": "./dist/esm/providers/xiaomi.js"
+ },
+ "./xiaomi-token-plan-ams": {
+ "types": "./dist/esm/providers/xiaomi-token-plan-ams.d.ts",
+ "import": "./dist/esm/providers/xiaomi-token-plan-ams.js"
+ },
+ "./xiaomi-token-plan-cn": {
+ "types": "./dist/esm/providers/xiaomi-token-plan-cn.d.ts",
+ "import": "./dist/esm/providers/xiaomi-token-plan-cn.js"
+ },
+ "./xiaomi-token-plan-sgp": {
+ "types": "./dist/esm/providers/xiaomi-token-plan-sgp.d.ts",
+ "import": "./dist/esm/providers/xiaomi-token-plan-sgp.js"
+ },
+ "./zai": {
+ "types": "./dist/esm/providers/zai.d.ts",
+ "import": "./dist/esm/providers/zai.js"
+ },
+ "./zai-coding-cn": {
+ "types": "./dist/esm/providers/zai-coding-cn.d.ts",
+ "import": "./dist/esm/providers/zai-coding-cn.js"
+ }
+ },
+ "files": [
+ "dist",
+ "src"
+ ],
+ "scripts": {
+ "build": "vite build",
+ "clean": "premove ./build ./dist",
+ "lint:fix": "oxlint src --type-aware --fix",
+ "test:build": "publint --strict",
+ "test:oxlint": "oxlint src --type-aware",
+ "test:coverage": "vitest run --coverage --coverage.include='src/**' --coverage.reporter=text-summary --coverage.reporter=json-summary",
+ "test:lib": "vitest run",
+ "test:lib:dev": "pnpm test:lib --watch",
+ "test:types": "tsc"
+ },
+ "keywords": [
+ "ai",
+ "ai-sdk",
+ "typescript",
+ "tanstack",
+ "models",
+ "model-catalog",
+ "pricing",
+ "context-window"
+ ],
+ "devDependencies": {
+ "@tanstack/ai": "workspace:*",
+ "@types/node": "^24.10.1",
+ "@vitest/coverage-v8": "4.1.10",
+ "vite": "^8.2.1"
+ }
+}
diff --git a/packages/ai-models/scripts/catalog.ts b/packages/ai-models/scripts/catalog.ts
new file mode 100644
index 0000000000..9e64474985
--- /dev/null
+++ b/packages/ai-models/scripts/catalog.ts
@@ -0,0 +1,199 @@
+import { BORROW, ONLY } from './known-ids'
+import { EXTRA_MODELS, MODEL_OVERRIDES } from './overrides'
+import {
+ inputModalities,
+ makesText,
+ modelHints,
+ reasoningLevelsFrom,
+ takesBudget,
+} from './rules'
+import type { ProviderRow, Wire } from './providers'
+import type { DevModel } from './rules'
+import type {
+ ModelCompat,
+ ModelCostRates,
+ ModelReasoning,
+ ModelRecord,
+ ProviderRecord,
+ WireApi,
+} from '../src/types'
+
+/** The trimmed models.dev catalog (`scripts/models-dev.models.json`). */
+export type DevCatalog = Readonly<
+ Record> }>
+>
+
+/** A gateway's own model list, turned into models.dev's shape. */
+export type GatewayModels = ReadonlyArray
+
+/** The inputs of one build. */
+export interface CatalogInputs {
+ dev: DevCatalog
+ /** Extra model lists per provider id, for example OpenRouter's own API. */
+ gateways?: Readonly>
+}
+
+/** Drop undefined fields, so the generated files stay small. */
+function compact(value: T): T {
+ return Object.fromEntries(
+ Object.entries(value).filter(([, field]) => field !== undefined),
+ ) as T
+}
+
+const mergeCompat = (
+ ...parts: ReadonlyArray
+): ModelCompat | undefined => {
+ const merged: ModelCompat = Object.assign({}, ...parts)
+ return Object.keys(merged).length > 0 ? merged : undefined
+}
+
+/**
+ * The models.dev context tiers, in pi's shape. A tier price that models.dev
+ * leaves out is the base price.
+ */
+function costTiers(
+ model: DevModel,
+ base: Omit,
+): ModelCostRates['tiers'] {
+ const tiers = (model.cost?.tiers ?? []).flatMap((tier) =>
+ tier.tier?.type === 'context' && tier.tier.size !== undefined
+ ? [
+ {
+ inputTokensAbove: tier.tier.size,
+ input: tier.input ?? base.input,
+ output: tier.output ?? base.output,
+ cacheRead: tier.cache_read ?? base.cacheRead,
+ cacheWrite: tier.cache_write ?? base.cacheWrite,
+ },
+ ]
+ : [],
+ )
+ return tiers.length > 0 ? tiers : undefined
+}
+
+/** Turn one models.dev model into a catalog record for `row`. */
+export function toRecord(
+ row: ProviderRow,
+ id: string,
+ model: DevModel,
+ sourceId: string,
+ borrowedFrom?: string,
+): ModelRecord {
+ const wire: Wire = row.wire?.({
+ id: sourceId,
+ ...(model.provider?.npm ? { npm: model.provider.npm } : {}),
+ }) ?? { api: row.api, baseUrl: row.baseUrl }
+ const reasoning: ModelReasoning =
+ model.reasoning === true
+ ? {
+ levels: reasoningLevelsFrom(model.reasoning_options),
+ budget: takesBudget(model.reasoning_options),
+ }
+ : false
+ const compat = mergeCompat(
+ row.compat,
+ row.modelCompat?.(id, wire),
+ modelHints(model, wire, row.effortByModel === true),
+ )
+ const cost = {
+ input: model.cost?.input ?? 0,
+ output: model.cost?.output ?? 0,
+ cacheRead: model.cost?.cache_read ?? 0,
+ cacheWrite: model.cost?.cache_write ?? 0,
+ }
+ return compact({
+ id,
+ provider: row.id,
+ name: model.name ?? id,
+ api: wire.api,
+ baseUrl: wire.baseUrl,
+ input: inputModalities(model.modalities?.input),
+ reasoning,
+ cost: compact({ ...cost, tiers: costTiers(model, cost) }),
+ contextWindow: model.limit?.context ?? 0,
+ maxTokens: model.limit?.output ?? 0,
+ headers: row.headers,
+ compat,
+ borrowedFrom,
+ })
+}
+
+/** Find `provider/model` in the catalog. Model ids can hold `/`. */
+function lookup(dev: DevCatalog, source: string): DevModel | undefined {
+ const slash = source.indexOf('/')
+ return dev[source.slice(0, slash)]?.models[source.slice(slash + 1)]
+}
+
+/** Every model of one provider, sorted by id. */
+export function buildModels(
+ row: ProviderRow,
+ inputs: CatalogInputs,
+): ReadonlyArray {
+ const records = new Map()
+ const only = ONLY[row.id]
+ const allowed = (id: string) => !only || only.includes(id)
+
+ for (const source of row.sources)
+ for (const [sourceId, model] of Object.entries(
+ inputs.dev[source]?.models ?? {},
+ )) {
+ if (
+ row.exclude?.({
+ id: sourceId,
+ ...(model.provider?.npm ? { npm: model.provider.npm } : {}),
+ })
+ )
+ continue
+ const id = row.modelId?.(sourceId) ?? sourceId
+ if (records.has(id) || !allowed(id) || !makesText(model)) continue
+ records.set(id, toRecord(row, id, model, sourceId))
+ }
+
+ // The gateway's own list has models models.dev does not (for example
+ // OpenRouter's `:batch` variants).
+ for (const model of inputs.gateways?.[row.id] ?? []) {
+ if (records.has(model.id) || !makesText(model)) continue
+ records.set(model.id, toRecord(row, model.id, model, model.id))
+ }
+
+ for (const [id, source] of Object.entries(BORROW[row.id] ?? {})) {
+ if (records.has(id)) continue
+ const model = lookup(inputs.dev, source)
+ if (model) records.set(id, toRecord(row, id, model, id, source))
+ }
+
+ for (const extra of EXTRA_MODELS[row.id] ?? []) {
+ if (records.has(extra.id)) continue
+ const wire: Wire = { api: row.api, baseUrl: row.baseUrl }
+ const compat = mergeCompat(row.compat, row.modelCompat?.(extra.id, wire))
+ records.set(extra.id, {
+ provider: row.id,
+ ...wire,
+ ...(row.headers ? { headers: row.headers } : {}),
+ ...(compat ? { compat } : {}),
+ ...extra,
+ })
+ }
+
+ for (const [id, override] of Object.entries(MODEL_OVERRIDES[row.id] ?? {})) {
+ const record = records.get(id)
+ if (record) records.set(id, { ...record, ...override })
+ }
+
+ return [...records.values()].sort((a, b) => a.id.localeCompare(b.id))
+}
+
+/** The provider record of a row, with the wires its models use. */
+export function buildProvider(
+ row: ProviderRow,
+ models: ReadonlyArray,
+): ProviderRecord {
+ const apis = [...new Set([row.api, ...models.map((m) => m.api)])]
+ return {
+ id: row.id,
+ name: row.name,
+ baseUrl: row.baseUrl,
+ apis: apis.sort(),
+ env: row.env,
+ }
+}
diff --git a/packages/ai-models/scripts/known-ids.ts b/packages/ai-models/scripts/known-ids.ts
new file mode 100644
index 0000000000..c55d56a317
--- /dev/null
+++ b/packages/ai-models/scripts/known-ids.ts
@@ -0,0 +1,272 @@
+// Model ids that the generator cannot find on its own. It compares with the
+// catalog of pi 0.87.1. Keep it by hand:
+// add an id here when a provider drops it from models.dev but still serves it.
+
+/** A model id at a provider, and the models.dev model to take its data from. */
+export const BORROW: Readonly<
+ Record>>
+> = {
+ 'ant-ling': {
+ 'Ling-2.6-1T': 'novita-ai/inclusionai/ling-2.6-1t',
+ 'Ling-2.6-flash': 'novita-ai/inclusionai/ling-2.6-flash',
+ 'Ring-2.6-1T': 'novita-ai/inclusionai/ring-2.6-1t',
+ },
+ 'azure-openai-responses': {
+ 'gpt-4': 'openai/gpt-4',
+ 'gpt-4o-2024-05-13': 'openai/gpt-4o-2024-05-13',
+ 'gpt-4o-2024-08-06': 'openai/gpt-4o-2024-08-06',
+ 'gpt-4o-2024-11-20': 'openai/gpt-4o-2024-11-20',
+ 'gpt-5-chat-latest': 'jiekou/gpt-5-chat-latest',
+ 'gpt-5.2-chat-latest': 'openai/gpt-5.2-chat-latest',
+ 'gpt-5.2-pro': 'openai/gpt-5.2-pro',
+ 'gpt-5.3-chat-latest': 'openai/gpt-5.3-chat-latest',
+ 'gpt-5.3-codex-spark': 'openai/gpt-5.3-codex-spark',
+ 'gpt-5.5-pro': 'openai/gpt-5.5-pro',
+ 'gpt-realtime-2.1': 'openai/gpt-realtime-2.1',
+ 'o1-pro': 'openai/o1-pro',
+ 'o3-pro': 'openai/o3-pro',
+ },
+ 'cloudflare-ai-gateway': {
+ 'workers-ai/@cf/deepseek-ai/deepseek-v4-flash-0731':
+ 'cloudflare-workers-ai/@cf/deepseek-ai/deepseek-v4-flash-0731',
+ 'workers-ai/@cf/deepseek-ai/deepseek-v4-pro-0813':
+ 'cloudflare-workers-ai/@cf/deepseek-ai/deepseek-v4-pro-0813',
+ 'workers-ai/@cf/google/gemma-4-26b-a4b-it':
+ 'cloudflare-workers-ai/@cf/google/gemma-4-26b-a4b-it',
+ 'workers-ai/@cf/ibm-granite/granite-4.0-h-micro':
+ 'cloudflare-workers-ai/@cf/ibm-granite/granite-4.0-h-micro',
+ 'workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast':
+ 'cloudflare-workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast',
+ 'workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct':
+ 'cloudflare-workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct',
+ 'workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct':
+ 'cloudflare-workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct',
+ 'workers-ai/@cf/moonshotai/kimi-k2.6':
+ 'cloudflare-workers-ai/@cf/moonshotai/kimi-k2.6',
+ 'workers-ai/@cf/moonshotai/kimi-k2.7-code':
+ 'cloudflare-workers-ai/@cf/moonshotai/kimi-k2.7-code',
+ 'workers-ai/@cf/nvidia/nemotron-3-120b-a12b':
+ 'cloudflare-workers-ai/@cf/nvidia/nemotron-3-120b-a12b',
+ 'workers-ai/@cf/openai/gpt-oss-120b':
+ 'cloudflare-workers-ai/@cf/openai/gpt-oss-120b',
+ 'workers-ai/@cf/openai/gpt-oss-20b':
+ 'cloudflare-workers-ai/@cf/openai/gpt-oss-20b',
+ 'workers-ai/@cf/qwen/qwen3-30b-a3b-fp8':
+ 'cloudflare-workers-ai/@cf/qwen/qwen3-30b-a3b-fp8',
+ 'workers-ai/@cf/qwen/qwen3.8-27b':
+ 'cloudflare-workers-ai/@cf/qwen/qwen3.8-27b',
+ 'workers-ai/@cf/zai-org/glm-4.7-flash':
+ 'cloudflare-workers-ai/@cf/zai-org/glm-4.7-flash',
+ 'workers-ai/@cf/zai-org/glm-5.2':
+ 'cloudflare-workers-ai/@cf/zai-org/glm-5.2',
+ 'workers-ai/@cf/zai-org/glm-5.3':
+ 'cloudflare-workers-ai/@cf/zai-org/glm-5.3',
+ 'workers-ai/@cf/zai-org/glm-5.3-flash':
+ 'cloudflare-workers-ai/@cf/zai-org/glm-5.3-flash',
+ },
+ fireworks: {
+ 'accounts/fireworks/models/deepseek-v4-flash-0731':
+ 'deepinfra/deepseek-ai/DeepSeek-V4-Flash-0731',
+ 'accounts/fireworks/models/deepseek-v4-flash-vision-exp':
+ 'deepseek/deepseek-v4-flash-vision-exp',
+ 'accounts/fireworks/models/deepseek-v4-pro': 'deepseek/deepseek-v4-pro',
+ 'accounts/fireworks/models/deepseek-v4-pro-0813':
+ 'deepinfra/deepseek-ai/DeepSeek-V4-Pro-0813',
+ 'accounts/fireworks/models/kimi-k2p6': 'moonshotai/kimi-k2.6',
+ 'accounts/fireworks/models/kimi-k2p7-code': 'moonshotai/kimi-k2.7-code',
+ 'accounts/fireworks/models/minimax-m2p7': 'minimax/MiniMax-M2.7',
+ 'accounts/fireworks/models/muse-glimmer-30b':
+ 'empiriolabs/muse-glimmer-30b',
+ 'accounts/fireworks/models/qwen3p7-plus': 'alibaba/qwen3.7-plus',
+ 'accounts/fireworks/routers/deepseek-pro-latest':
+ 'kilo/~deepseek/deepseek-pro-latest',
+ 'accounts/fireworks/models/glm-5p2': 'zai/glm-5.2',
+ 'accounts/fireworks/routers/glm-5p2-fast': 'baseten/zai-org/GLM-5.2-Fast',
+ },
+ mistral: {
+ 'mistral-medium-3.5': 'nano-gpt/mistralai/mistral-medium-3.5',
+ },
+ openai: {
+ 'gpt-5-chat-latest': 'jiekou/gpt-5-chat-latest',
+ },
+ 'opencode-go': {
+ 'glm-5.1': 'zai/glm-5.1',
+ },
+ openrouter: {
+ 'anthropic/claude-3-haiku': 'vercel/anthropic/claude-3-haiku',
+ auto: 'kilo/openrouter/auto',
+ 'inclusionai/ling-3.0-flash-fin:free':
+ 'kilo/inclusionai/ling-3.0-flash-fin',
+ 'inclusionai/ling-3.0-flash-vl:free':
+ 'nano-gpt/inclusionai/ling-3.0-flash-vl',
+ 'nex-agi/nex-n2.5-mini:free': 'kilo/nex-agi/nex-n2.5-mini',
+ 'nex-agi/nex-n2.5-pro:free': 'kilo/nex-agi/nex-n2.5-pro',
+ },
+ 'qwen-token-plan': {
+ 'MiniMax-M2.5': 'minimax/MiniMax-M2.5',
+ 'deepseek-v3.2': 'deepinfra/deepseek-ai/DeepSeek-V3.2',
+ 'deepseek-v4-flash': 'deepseek/deepseek-v4-flash',
+ 'deepseek-v4-pro': 'deepseek/deepseek-v4-pro',
+ 'deepseek-v4-pro-0813': 'deepinfra/deepseek-ai/DeepSeek-V4-Pro-0813',
+ 'deepseek-v4.1-flash': 'deepinfra/deepseek-ai/DeepSeek-V4.1-Flash',
+ 'glm-5': 'zai/glm-5',
+ 'glm-5.1': 'zai/glm-5.1',
+ 'glm-5.3': 'zai/glm-5.3',
+ 'kimi-k2.5': 'deepinfra/moonshotai/Kimi-K2.5',
+ 'kimi-k2.6': 'moonshotai/kimi-k2.6',
+ 'kimi-k2.7-code': 'moonshotai/kimi-k2.7-code',
+ },
+ 'qwen-token-plan-cn': {
+ 'deepseek-v3.2': 'deepinfra/deepseek-ai/DeepSeek-V3.2',
+ 'deepseek-v4-flash-0731': 'deepinfra/deepseek-ai/DeepSeek-V4-Flash-0731',
+ 'deepseek-v4-pro-0813': 'deepinfra/deepseek-ai/DeepSeek-V4-Pro-0813',
+ 'kimi-k2.7-code': 'moonshotai/kimi-k2.7-code',
+ },
+ 'qwen-token-plan-individual': {
+ 'deepseek-v4-pro': 'deepseek/deepseek-v4-pro',
+ 'deepseek-v4-pro-0813': 'deepinfra/deepseek-ai/DeepSeek-V4-Pro-0813',
+ },
+ together: {
+ 'moonshotai/Kimi-K2.6': 'moonshotai/kimi-k2.6',
+ 'moonshotai/Kimi-K2.7-Code': 'moonshotai/kimi-k2.7-code',
+ },
+ 'vercel-ai-gateway': {
+ 'inclusionai/ling-3.0-flash-fin-free':
+ 'kilo/inclusionai/ling-3.0-flash-fin',
+ 'inclusionai/ling-3.0-flash-vl-free':
+ 'nano-gpt/inclusionai/ling-3.0-flash-vl',
+ },
+ zai: {
+ 'glm-5.2-highspeed': 'zai-coding-plan/glm-5.2-highspeed',
+ 'glm-5.3-highspeed': 'zhipuai-coding-plan/glm-5.3-highspeed',
+ },
+}
+
+/**
+ * Plan providers that share a models.dev list with the full API but serve
+ * only some of its models. Only these ids are in the catalog.
+ */
+export const ONLY: Readonly>> = {
+ 'qwen-token-plan': [
+ 'MiniMax-M2.5',
+ 'deepseek-v3.2',
+ 'deepseek-v4-flash',
+ 'deepseek-v4-flash-0731',
+ 'deepseek-v4-pro',
+ 'deepseek-v4-pro-0813',
+ 'deepseek-v4.1-flash',
+ 'glm-5',
+ 'glm-5.1',
+ 'glm-5.2',
+ 'glm-5.3',
+ 'kimi-k2.5',
+ 'kimi-k2.6',
+ 'kimi-k2.7-code',
+ 'qwen3.6-flash',
+ 'qwen3.6-plus',
+ 'qwen3.7-max',
+ 'qwen3.7-plus',
+ 'qwen3.8-flash',
+ 'qwen3.8-max',
+ ],
+ 'qwen-token-plan-cn': [
+ 'MiniMax-M2.5',
+ 'deepseek-v3.2',
+ 'deepseek-v4-flash',
+ 'deepseek-v4-flash-0731',
+ 'deepseek-v4-pro',
+ 'deepseek-v4-pro-0813',
+ 'deepseek-v4.1-flash',
+ 'glm-5',
+ 'glm-5.1',
+ 'glm-5.2',
+ 'glm-5.3',
+ 'kimi-k2.5',
+ 'kimi-k2.6',
+ 'kimi-k2.7-code',
+ 'qwen3.6-flash',
+ 'qwen3.6-plus',
+ 'qwen3.7-max',
+ 'qwen3.7-plus',
+ 'qwen3.8-flash',
+ 'qwen3.8-max',
+ ],
+ 'qwen-token-plan-individual': [
+ 'deepseek-v4-flash-0731',
+ 'deepseek-v4-pro',
+ 'deepseek-v4-pro-0813',
+ 'glm-5.2',
+ 'qwen3.6-flash',
+ 'qwen3.7-max',
+ 'qwen3.7-plus',
+ 'qwen3.8-flash',
+ 'qwen3.8-max',
+ ],
+ 'xiaomi-token-plan-ams': [
+ 'mimo-v2.5',
+ 'mimo-v2.5-pro',
+ 'mimo-v2.6-flash',
+ 'mimo-v2.6-pro',
+ ],
+ 'xiaomi-token-plan-cn': [
+ 'mimo-v2.5',
+ 'mimo-v2.5-pro',
+ 'mimo-v2.6-flash',
+ 'mimo-v2.6-pro',
+ ],
+ 'xiaomi-token-plan-sgp': [
+ 'mimo-v2.5',
+ 'mimo-v2.5-pro',
+ 'mimo-v2.6-flash',
+ 'mimo-v2.6-pro',
+ ],
+}
+
+/** Fireworks models on its Anthropic Messages endpoint. The rest use Chat Completions. */
+export const FIREWORKS_ANTHROPIC_WIRE: ReadonlyArray = [
+ 'accounts/fireworks/models/deepseek-v4-flash-0731',
+ 'accounts/fireworks/models/deepseek-v4-flash-vision-exp',
+ 'accounts/fireworks/models/deepseek-v4-pro',
+ 'accounts/fireworks/models/deepseek-v4-pro-0813',
+ 'accounts/fireworks/models/deepseek-v4p1-flash',
+ 'accounts/fireworks/models/gpt-oss-120b',
+ 'accounts/fireworks/models/inkling',
+ 'accounts/fireworks/models/kimi-k2p6',
+ 'accounts/fireworks/models/kimi-k2p7-code',
+ 'accounts/fireworks/models/minimax-m2p7',
+ 'accounts/fireworks/models/minimax-m3',
+ 'accounts/fireworks/models/muse-glimmer-30b',
+ 'accounts/fireworks/models/nemotron-3-ultra-nvfp4',
+ 'accounts/fireworks/models/nemotron-lightning-3p5-30b-a3b',
+ 'accounts/fireworks/models/qwen3p7-plus',
+ 'accounts/fireworks/models/qwen3p8-2p4t-a95b',
+ 'accounts/fireworks/models/qwen3p8-max',
+ 'accounts/fireworks/routers/deepseek-flash-latest',
+ 'accounts/fireworks/routers/deepseek-pro-latest',
+ 'accounts/fireworks/routers/kimi-fast-latest',
+ 'accounts/fireworks/routers/kimi-latest',
+ 'accounts/fireworks/routers/minimax-latest',
+ 'accounts/fireworks/routers/qwen-max-latest',
+]
+
+/**
+ * Fireworks models on the Anthropic endpoint that think with a budget (pi
+ * 0.87.1). The others think adaptively: pi has `effort` levels for them,
+ * and models.dev does not have them for all.
+ */
+export const FIREWORKS_BUDGET_THINKING: ReadonlyArray = [
+ 'accounts/fireworks/models/inkling',
+ 'accounts/fireworks/models/kimi-k2p6',
+ 'accounts/fireworks/models/kimi-k2p7-code',
+ 'accounts/fireworks/models/nemotron-3-ultra-nvfp4',
+ 'accounts/fireworks/models/nemotron-lightning-3p5-30b-a3b',
+ 'accounts/fireworks/routers/qwen-max-latest',
+]
+
+/** The models with mid-conversation effort, by provider (pi 0.87.1 `supportsMidConvoEffort`). */
+export const MID_CONVERSATION_EFFORT: Readonly<
+ Record>
+> = {
+ anthropic: ['claude-fable-5-1', 'claude-opus-5', 'claude-opus-5-5'],
+ openrouter: ['anthropic/claude-fable-5.1', 'anthropic/claude-opus-5.5'],
+}
diff --git a/packages/ai-models/scripts/overrides.ts b/packages/ai-models/scripts/overrides.ts
new file mode 100644
index 0000000000..4af7ded52d
--- /dev/null
+++ b/packages/ai-models/scripts/overrides.ts
@@ -0,0 +1,94 @@
+import { DEFAULT_LEVELS } from './rules'
+import type { ModelReasoning, ModelRecord, ReasoningLevel } from '../src/types'
+
+/** A model record without the fields its provider row fills in. */
+export type ExtraModel = Omit &
+ Partial>
+
+/**
+ * Models that no source has, written by hand. Values from the provider's
+ * price page (as pi 0.87.1 lists them).
+ */
+export const EXTRA_MODELS: Readonly>> =
+ {
+ mistral: [
+ {
+ id: 'magistral-small',
+ name: 'Magistral Small',
+ input: ['text'],
+ reasoning: { levels: DEFAULT_LEVELS, budget: false },
+ cost: { input: 0.5, output: 1.5, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ ],
+ openrouter: [
+ {
+ id: 'openrouter/auto-beta',
+ name: 'Auto Router (Beta)',
+ input: ['text', 'image'],
+ reasoning: { levels: DEFAULT_LEVELS, budget: false },
+ // The router picks a model per call, so the price is not known ahead.
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 2000000,
+ maxTokens: 4096,
+ },
+ ],
+ }
+
+/** Effort levels: `off` when given, and the named levels as their own name. */
+function effort(
+ budget: boolean,
+ off: string | null,
+ ...levels: Array
+): ModelReasoning {
+ return {
+ levels: {
+ ...(off === null ? {} : { off }),
+ ...Object.fromEntries(levels.map((level) => [level, level])),
+ },
+ budget,
+ }
+}
+
+/**
+ * Corrections for single models, merged over the generated record. Keep a
+ * comment on each one that says why.
+ */
+export const MODEL_OVERRIDES: Readonly<
+ Record>>>
+> = {
+ // Fireworks' own effort levels on its Anthropic endpoint (pi 0.87.1).
+ // models.dev has no levels for these, and the record borrows the levels
+ // of the same model at another provider.
+ fireworks: {
+ 'accounts/fireworks/models/deepseek-v4-flash-0731': {
+ reasoning: effort(false, 'none', 'low', 'high', 'max'),
+ },
+ 'accounts/fireworks/models/deepseek-v4-pro': {
+ reasoning: effort(false, 'none', 'high', 'max'),
+ },
+ 'accounts/fireworks/models/deepseek-v4-pro-0813': {
+ reasoning: effort(false, 'none', 'low', 'high', 'max'),
+ },
+ 'accounts/fireworks/models/muse-glimmer-30b': {
+ reasoning: effort(false, null, 'low', 'medium', 'high', 'xhigh'),
+ },
+ 'accounts/fireworks/models/qwen3p7-plus': {
+ reasoning: effort(true, 'none', 'low', 'medium', 'high'),
+ },
+ 'accounts/fireworks/models/qwen3p8-max': {
+ reasoning: effort(false, 'none', 'low', 'medium', 'xhigh'),
+ },
+ 'accounts/fireworks/routers/deepseek-pro-latest': {
+ reasoning: effort(false, 'none', 'high', 'max'),
+ },
+ },
+ // models.dev lists no reasoning for it at Vercel. Vercel's own model list
+ // tags it `reasoning`, and Google, OpenRouter, and pi 0.87.1 list it.
+ 'vercel-ai-gateway': {
+ 'google/gemma-4-31b-it': {
+ reasoning: { levels: DEFAULT_LEVELS, budget: false },
+ },
+ },
+}
diff --git a/packages/ai-models/scripts/providers.ts b/packages/ai-models/scripts/providers.ts
new file mode 100644
index 0000000000..e82f62713c
--- /dev/null
+++ b/packages/ai-models/scripts/providers.ts
@@ -0,0 +1,628 @@
+import {
+ FIREWORKS_ANTHROPIC_WIRE,
+ FIREWORKS_BUDGET_THINKING,
+ MID_CONVERSATION_EFFORT,
+} from './known-ids'
+import type { ModelCompat, WireApi } from '../src/types'
+
+/** Where one model is served: its wire protocol and endpoint. */
+export interface Wire {
+ api: WireApi
+ baseUrl: string
+}
+
+/** What a provider row can read from a models.dev model. */
+export interface SourceModel {
+ id: string
+ /** The AI SDK package models.dev lists for this model, when it differs from the provider's. */
+ npm?: string
+}
+
+/**
+ * One provider, by hand. The quirk rules follow pi's `detectCompat()`
+ * (`pi-ai/dist/api/openai-completions.js`) and the values pi sets on every
+ * model of the provider. Per-model hints come from models.dev (see
+ * `rules.ts`), and the model value wins.
+ */
+export interface ProviderRow {
+ id: string
+ name: string
+ /** models.dev provider ids to read models from. The first one wins on a clash. */
+ sources: ReadonlyArray
+ baseUrl: string
+ env: ReadonlyArray>
+ /** Wire and endpoint per model. Default: `api` at `baseUrl`. */
+ api: WireApi
+ wire?: (model: SourceModel) => Wire
+ /** The model id the catalog uses, from the models.dev id. Default: the same. */
+ modelId?: (sourceId: string) => string
+ /** `true`: leave this models.dev model out, for example one on another wire. */
+ exclude?: (model: SourceModel) => boolean
+ /** Quirks of every model of this provider. */
+ compat?: ModelCompat
+ /** Quirks of some models of this provider, by model id. */
+ modelCompat?: (id: string, wire: Wire) => ModelCompat | undefined
+ /** `true`: `supportsReasoningEffort` follows each model's `effort` option. */
+ effortByModel?: boolean
+ headers?: Readonly>
+}
+
+const completions = (baseUrl: string): Wire => ({
+ api: 'openai-completions',
+ baseUrl,
+})
+
+/** Chat Completions rules of the "non-standard" providers in pi's detectCompat. */
+const NON_STANDARD: ModelCompat = {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+}
+
+/** A DeepSeek-family model on a gateway sends thinking the DeepSeek way. */
+const deepseekFamily = (id: string): ModelCompat | undefined =>
+ /deepseek/i.test(id)
+ ? {
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ }
+ : undefined
+
+/** OpenCode serves each model on the wire of the SDK models.dev lists. */
+const opencodeWire =
+ (root: string) =>
+ (model: SourceModel): Wire => {
+ if (model.npm === '@ai-sdk/anthropic')
+ return { api: 'anthropic-messages', baseUrl: root }
+ if (model.npm === '@ai-sdk/google')
+ return { api: 'google-generative-ai', baseUrl: `${root}/v1` }
+ if (model.npm === '@ai-sdk/openai')
+ return { api: 'openai-responses', baseUrl: `${root}/v1` }
+ return completions(`${root}/v1`)
+ }
+
+const opencodeCompat = (id: string, wire: Wire): ModelCompat | undefined => {
+ if (wire.api === 'openai-completions')
+ return {
+ ...NON_STANDARD,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ ...deepseekFamily(id),
+ }
+ if (wire.api === 'openai-responses')
+ return { sessionAffinityFormat: 'openai-nosession' }
+ return undefined
+}
+
+const CLOUDFLARE_GATEWAY =
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}'
+
+export const PROVIDERS: ReadonlyArray = [
+ {
+ id: 'amazon-bedrock',
+ name: 'Amazon Bedrock',
+ sources: ['amazon-bedrock'],
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ api: 'bedrock-converse-stream',
+ // The `eu.` cross-region profiles run in eu-central-1.
+ wire: (model) => ({
+ api: 'bedrock-converse-stream',
+ baseUrl: model.id.startsWith('eu.')
+ ? 'https://bedrock-runtime.eu-central-1.amazonaws.com'
+ : 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ }),
+ env: [
+ ['AWS_PROFILE'],
+ ['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY'],
+ ['AWS_BEARER_TOKEN_BEDROCK'],
+ ['AWS_CONTAINER_CREDENTIALS_RELATIVE_URI'],
+ ['AWS_CONTAINER_CREDENTIALS_FULL_URI'],
+ ['AWS_WEB_IDENTITY_TOKEN_FILE'],
+ ],
+ },
+ {
+ id: 'ant-ling',
+ name: 'Ant Ling',
+ sources: [],
+ baseUrl: 'https://api.ant-ling.com/v1',
+ api: 'openai-completions',
+ env: [['ANT_LING_API_KEY']],
+ compat: {
+ ...NON_STANDARD,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'ant-ling',
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ },
+ },
+ {
+ id: 'anthropic',
+ name: 'Anthropic',
+ sources: ['anthropic'],
+ baseUrl: 'https://api.anthropic.com',
+ api: 'anthropic-messages',
+ env: [
+ ['ANTHROPIC_API_KEY'],
+ ['ANTHROPIC_OAUTH_TOKEN'],
+ ['ANTHROPIC_AUTH_TOKEN'],
+ ],
+ compat: { supportsStrictTools: true },
+ modelCompat: (id) =>
+ MID_CONVERSATION_EFFORT.anthropic?.includes(id)
+ ? { supportsMidConvoEffort: true }
+ : undefined,
+ },
+ {
+ id: 'azure-openai-responses',
+ name: 'Azure OpenAI',
+ sources: ['azure'],
+ // Each Azure resource has its own endpoint.
+ baseUrl: '',
+ api: 'azure-openai-responses',
+ // A model with its own SDK (Claude, and the Foundry models) is not on
+ // the Azure OpenAI wire.
+ exclude: (model) => model.npm !== undefined,
+ env: [['AZURE_OPENAI_API_KEY']],
+ },
+ {
+ id: 'baseten',
+ name: 'Baseten',
+ sources: ['baseten'],
+ baseUrl: 'https://inference.baseten.co/v1',
+ api: 'openai-completions',
+ env: [['BASETEN_API_KEY']],
+ effortByModel: true,
+ compat: {
+ ...NON_STANDARD,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ },
+ },
+ {
+ id: 'cerebras',
+ name: 'Cerebras',
+ sources: ['cerebras'],
+ baseUrl: 'https://api.cerebras.ai/v1',
+ api: 'openai-completions',
+ env: [['CEREBRAS_API_KEY']],
+ compat: NON_STANDARD,
+ },
+ {
+ id: 'cloudflare-ai-gateway',
+ name: 'Cloudflare AI Gateway',
+ sources: ['cloudflare-ai-gateway'],
+ baseUrl: `${CLOUDFLARE_GATEWAY}/compat`,
+ api: 'openai-completions',
+ env: [['CLOUDFLARE_API_KEY']],
+ // Claude and OpenAI models have their own routes, and pi drops the
+ // vendor part of their id. Every other model goes through `/compat`.
+ modelId: (id) => id.replace(/^(anthropic|openai)\//, ''),
+ wire: (model) => {
+ if (model.id.startsWith('anthropic/'))
+ return {
+ api: 'anthropic-messages',
+ baseUrl: `${CLOUDFLARE_GATEWAY}/anthropic`,
+ }
+ if (model.id.startsWith('openai/'))
+ return {
+ api: 'openai-responses',
+ baseUrl: `${CLOUDFLARE_GATEWAY}/openai`,
+ }
+ return completions(`${CLOUDFLARE_GATEWAY}/compat`)
+ },
+ compat: { sendSessionAffinityHeaders: true },
+ modelCompat: (id, wire) =>
+ wire.api === 'openai-completions'
+ ? {
+ ...NON_STANDARD,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ ...deepseekFamily(id),
+ }
+ : wire.api === 'openai-responses'
+ ? { supportsStrictMode: true, sendSessionAffinityHeaders: false }
+ : undefined,
+ },
+ {
+ id: 'cloudflare-workers-ai',
+ name: 'Cloudflare Workers AI',
+ sources: ['cloudflare-workers-ai'],
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ api: 'openai-completions',
+ env: [['CLOUDFLARE_API_KEY']],
+ compat: {
+ ...NON_STANDARD,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ modelCompat: deepseekFamily,
+ },
+ {
+ id: 'deepseek',
+ name: 'DeepSeek',
+ sources: ['deepseek'],
+ baseUrl: 'https://api.deepseek.com',
+ api: 'openai-completions',
+ env: [['DEEPSEEK_API_KEY']],
+ compat: {
+ ...NON_STANDARD,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ supportsStrictMode: true,
+ },
+ },
+ {
+ id: 'fireworks',
+ name: 'Fireworks AI',
+ sources: ['fireworks-ai'],
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
+ api: 'openai-completions',
+ env: [['FIREWORKS_API_KEY']],
+ wire: (model) =>
+ FIREWORKS_ANTHROPIC_WIRE.includes(model.id)
+ ? {
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ }
+ : completions('https://api.fireworks.ai/inference/v1'),
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ },
+ modelCompat: (id, wire) =>
+ wire.api === 'anthropic-messages'
+ ? {
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ ...(!FIREWORKS_BUDGET_THINKING.includes(id) && {
+ forceAdaptiveThinking: true,
+ }),
+ }
+ : { ...NON_STANDARD, supportsStrictMode: true, ...deepseekFamily(id) },
+ },
+ {
+ id: 'google',
+ name: 'Google',
+ sources: ['google'],
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ api: 'google-generative-ai',
+ env: [['GEMINI_API_KEY']],
+ },
+ {
+ id: 'google-vertex',
+ name: 'Google Vertex AI',
+ sources: ['google-vertex'],
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ api: 'google-vertex',
+ // Claude on Vertex speaks the Anthropic Messages wire, which the Gemini
+ // adapter cannot call. pi lists no Claude models on Vertex either.
+ exclude: (model) => model.id.startsWith('claude-'),
+ // An API key, or Application Default Credentials with a project and a location.
+ env: [
+ ['GOOGLE_CLOUD_API_KEY'],
+ [
+ 'GOOGLE_APPLICATION_CREDENTIALS',
+ 'GOOGLE_CLOUD_PROJECT',
+ 'GOOGLE_CLOUD_LOCATION',
+ ],
+ [
+ 'GOOGLE_APPLICATION_CREDENTIALS',
+ 'GCLOUD_PROJECT',
+ 'GOOGLE_CLOUD_LOCATION',
+ ],
+ ],
+ },
+ {
+ id: 'groq',
+ name: 'Groq',
+ sources: ['groq'],
+ baseUrl: 'https://api.groq.com/openai/v1',
+ api: 'openai-completions',
+ env: [['GROQ_API_KEY']],
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'huggingface',
+ name: 'Hugging Face',
+ sources: ['huggingface'],
+ baseUrl: 'https://router.huggingface.co/v1',
+ api: 'openai-completions',
+ env: [['HF_TOKEN']],
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'kimi-coding',
+ name: 'Kimi For Coding',
+ sources: ['kimi-code-plan-global', 'kimi-code-plan-cn'],
+ baseUrl: 'https://api.kimi.com/coding',
+ api: 'anthropic-messages',
+ env: [['KIMI_API_KEY']],
+ compat: { forceAdaptiveThinking: true },
+ },
+ {
+ id: 'meta',
+ name: 'Meta',
+ sources: ['meta'],
+ baseUrl: 'https://api.meta.ai/v1',
+ api: 'openai-responses',
+ env: [['META_API_KEY']],
+ },
+ {
+ id: 'minimax',
+ name: 'MiniMax',
+ sources: ['minimax'],
+ baseUrl: 'https://api.minimax.io/anthropic',
+ api: 'anthropic-messages',
+ env: [['MINIMAX_API_KEY']],
+ },
+ {
+ id: 'minimax-cn',
+ name: 'MiniMax (China)',
+ sources: ['minimax-cn'],
+ baseUrl: 'https://api.minimaxi.com/anthropic',
+ api: 'anthropic-messages',
+ env: [['MINIMAX_CN_API_KEY']],
+ },
+ {
+ id: 'mistral',
+ name: 'Mistral',
+ sources: ['mistral'],
+ baseUrl: 'https://api.mistral.ai',
+ api: 'mistral-conversations',
+ env: [['MISTRAL_API_KEY']],
+ },
+ ...(['moonshotai', 'moonshotai-cn'] as const).map(
+ (id): ProviderRow => ({
+ id,
+ name: id === 'moonshotai' ? 'Moonshot AI' : 'Moonshot AI (China)',
+ sources: [id],
+ baseUrl:
+ id === 'moonshotai'
+ ? 'https://api.moonshot.ai/v1'
+ : 'https://api.moonshot.cn/v1',
+ api: 'openai-completions',
+ env: [['MOONSHOT_API_KEY']],
+ effortByModel: true,
+ compat: {
+ ...NON_STANDARD,
+ maxTokensField: 'max_tokens',
+ supportsStrictMode: false,
+ supportsMidConvoSystemMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ }),
+ ),
+ {
+ id: 'nvidia',
+ name: 'NVIDIA',
+ sources: ['nvidia'],
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ api: 'openai-completions',
+ env: [['NVIDIA_API_KEY']],
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ ...NON_STANDARD,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'openai',
+ name: 'OpenAI',
+ sources: ['openai'],
+ baseUrl: 'https://api.openai.com/v1',
+ api: 'openai-responses',
+ env: [['OPENAI_API_KEY']],
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'opencode',
+ name: 'OpenCode Zen',
+ sources: ['opencode'],
+ baseUrl: 'https://opencode.ai/zen/v1',
+ api: 'openai-completions',
+ env: [['OPENCODE_API_KEY']],
+ wire: opencodeWire('https://opencode.ai/zen'),
+ modelCompat: opencodeCompat,
+ },
+ {
+ id: 'opencode-go',
+ name: 'OpenCode Go',
+ sources: ['opencode-go'],
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ api: 'openai-completions',
+ env: [['OPENCODE_API_KEY']],
+ wire: opencodeWire('https://opencode.ai/zen/go'),
+ modelCompat: opencodeCompat,
+ },
+ {
+ id: 'openrouter',
+ name: 'OpenRouter',
+ sources: ['openrouter'],
+ baseUrl: 'https://openrouter.ai/api/v1',
+ api: 'openai-completions',
+ env: [['OPENROUTER_API_KEY']],
+ // Claude goes through OpenRouter's Anthropic Messages endpoint. Its
+ // `:batch` variants are Chat Completions only.
+ wire: (model) =>
+ model.id.startsWith('anthropic/') && !model.id.endsWith(':batch')
+ ? { api: 'anthropic-messages', baseUrl: 'https://openrouter.ai/api' }
+ : completions('https://openrouter.ai/api/v1'),
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ },
+ modelCompat: (id) => ({
+ supportsDeveloperRole: /^(anthropic|openai)\//.test(id),
+ ...(id.startsWith('anthropic/')
+ ? { cacheControlFormat: 'anthropic' as const }
+ : {}),
+ ...(MID_CONVERSATION_EFFORT.openrouter?.includes(id)
+ ? { supportsMidConvoEffort: true }
+ : {}),
+ }),
+ },
+ ...(
+ [
+ [
+ 'qwen-token-plan',
+ 'Qwen Token Plan',
+ 'alibaba',
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ 'QWEN_TOKEN_PLAN_API_KEY',
+ ],
+ [
+ 'qwen-token-plan-cn',
+ 'Qwen Token Plan (China)',
+ 'alibaba-cn',
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ 'QWEN_TOKEN_PLAN_CN_API_KEY',
+ ],
+ [
+ 'qwen-token-plan-individual',
+ 'Qwen Token Plan (Individual)',
+ 'alibaba',
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ 'QWEN_TOKEN_PLAN_API_KEY',
+ ],
+ ] as const
+ ).map(
+ ([id, name, source, baseUrl, key]): ProviderRow => ({
+ id,
+ name,
+ sources: [source],
+ baseUrl,
+ api: 'openai-completions',
+ env: [[key]],
+ effortByModel: true,
+ compat: {
+ ...NON_STANDARD,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ },
+ }),
+ ),
+ {
+ id: 'together',
+ name: 'Together AI',
+ sources: ['togetherai'],
+ baseUrl: 'https://api.together.ai/v1',
+ api: 'openai-completions',
+ env: [['TOGETHER_API_KEY']],
+ compat: {
+ ...NON_STANDARD,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'vercel-ai-gateway',
+ name: 'Vercel AI Gateway',
+ sources: ['vercel'],
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ api: 'anthropic-messages',
+ env: [['AI_GATEWAY_API_KEY']],
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'xai',
+ name: 'xAI',
+ sources: ['xai'],
+ baseUrl: 'https://api.x.ai/v1',
+ api: 'openai-responses',
+ env: [['XAI_API_KEY']],
+ compat: { supportsLongCacheRetention: false },
+ },
+ ...(
+ [
+ [
+ 'xiaomi',
+ 'Xiaomi MiMo',
+ 'https://api.xiaomimimo.com/v1',
+ 'XIAOMI_API_KEY',
+ ],
+ [
+ 'xiaomi-token-plan-ams',
+ 'Xiaomi MiMo Token Plan (Amsterdam)',
+ 'https://token-plan-ams.xiaomimimo.com/v1',
+ 'XIAOMI_TOKEN_PLAN_AMS_API_KEY',
+ ],
+ [
+ 'xiaomi-token-plan-cn',
+ 'Xiaomi MiMo Token Plan (China)',
+ 'https://token-plan-cn.xiaomimimo.com/v1',
+ 'XIAOMI_TOKEN_PLAN_CN_API_KEY',
+ ],
+ [
+ 'xiaomi-token-plan-sgp',
+ 'Xiaomi MiMo Token Plan (Singapore)',
+ 'https://token-plan-sgp.xiaomimimo.com/v1',
+ 'XIAOMI_TOKEN_PLAN_SGP_API_KEY',
+ ],
+ ] as const
+ ).map(
+ ([id, name, baseUrl, key]): ProviderRow => ({
+ id,
+ name,
+ sources: ['xiaomi'],
+ baseUrl,
+ api: 'openai-completions',
+ env: [[key]],
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ }),
+ ),
+ ...(
+ [
+ [
+ 'zai',
+ 'Z.AI',
+ ['zai'],
+ 'https://api.z.ai/api/coding/paas/v4',
+ 'ZAI_API_KEY',
+ ],
+ [
+ 'zai-coding-cn',
+ 'Zhipu AI Coding Plan',
+ ['zhipuai-coding-plan', 'zai-coding-plan'],
+ 'https://open.bigmodel.cn/api/coding/paas/v4',
+ 'ZAI_CODING_CN_API_KEY',
+ ],
+ ] as const
+ ).map(
+ ([id, name, sources, baseUrl, key]): ProviderRow => ({
+ id,
+ name,
+ sources,
+ baseUrl,
+ api: 'openai-completions',
+ env: [[key]],
+ effortByModel: true,
+ compat: {
+ ...NON_STANDARD,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ },
+ }),
+ ),
+]
diff --git a/packages/ai-models/scripts/rules.ts b/packages/ai-models/scripts/rules.ts
new file mode 100644
index 0000000000..dd5df80c8b
--- /dev/null
+++ b/packages/ai-models/scripts/rules.ts
@@ -0,0 +1,165 @@
+import type { Wire } from './providers'
+import type {
+ InputModality,
+ ModelCompat,
+ ReasoningLevel,
+ ReasoningLevels,
+} from '../src/types'
+
+/** One entry of models.dev `reasoning_options`. */
+export type ReasoningOptionEntry =
+ | { type: 'effort'; values?: ReadonlyArray }
+ | { type: 'toggle' }
+ | { type: 'budget_tokens'; min?: number; max?: number }
+ | { type: string }
+
+/** The fields of a models.dev model that the generator reads. */
+export interface DevModel {
+ id: string
+ name?: string
+ reasoning?: boolean
+ reasoning_options?: ReadonlyArray
+ interleaved?: boolean | { field?: string }
+ temperature?: boolean
+ modalities?: {
+ input?: ReadonlyArray
+ output?: ReadonlyArray
+ }
+ cost?: {
+ input?: number
+ output?: number
+ cache_read?: number
+ cache_write?: number
+ tiers?: ReadonlyArray<{
+ input?: number
+ output?: number
+ cache_read?: number
+ cache_write?: number
+ tier?: { type?: string; size?: number }
+ }>
+ }
+ limit?: { context?: number; output?: number }
+ provider?: { npm?: string; api?: string }
+}
+
+const THINKING_LEVELS: ReadonlyArray> = [
+ 'minimal',
+ 'low',
+ 'medium',
+ 'high',
+ 'xhigh',
+ 'max',
+]
+
+const effortValues = (
+ options: ReadonlyArray,
+): ReadonlyArray | undefined => {
+ const effort = options.find((option) => option.type === 'effort')
+ if (!effort || !('values' in effort)) return undefined
+ return effort.values
+}
+
+/**
+ * The levels of a model with no level data: every level up to `high`, each
+ * sent as its own name. The adapter turns them into a budget when the model
+ * takes one.
+ */
+export const DEFAULT_LEVELS: ReasoningLevels = {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+}
+
+/**
+ * The levels from models.dev `reasoning_options`:
+ * - `effort` values: each value names its level, and `none` is the `off`
+ * value. A `toggle` next to it also gives `off: 'none'`. `default` with
+ * no `high` is the `high` value (Groq).
+ * - `toggle` alone: only `off` and `high`.
+ * - `budget_tokens` alone, or nothing: `DEFAULT_LEVELS`.
+ */
+export function reasoningLevelsFrom(
+ options: ReadonlyArray | undefined,
+): ReasoningLevels {
+ const values = effortValues(options ?? [])
+ const toggle = (options ?? []).some((option) => option.type === 'toggle')
+ if (values && values.length > 0) {
+ const levels: ReasoningLevels =
+ values.includes('none') || toggle ? { off: 'none' } : {}
+ for (const level of THINKING_LEVELS)
+ if (values.includes(level)) levels[level] = level
+ if (!levels.high && values.includes('default')) levels.high = 'default'
+ return levels
+ }
+ if (toggle) return { off: 'off', high: 'high' }
+ return DEFAULT_LEVELS
+}
+
+/** `true` when the model takes a thinking token budget. */
+export function takesBudget(
+ options: ReadonlyArray | undefined,
+): boolean {
+ return (options ?? []).some((option) => option.type === 'budget_tokens')
+}
+
+/** Claude 4.6 and later, with dash or dot ids (`claude-opus-4-7`, `anthropic/claude-opus-4.7`). */
+const ADAPTIVE_CLAUDE =
+ /claude-(?:(?:opus|sonnet)-4[.-][6-9]|(?:opus|sonnet|fable)-[5-9])/
+
+/** The model hints models.dev has for the wire quirks. */
+export function modelHints(
+ model: DevModel,
+ wire: Wire,
+ effortByModel: boolean,
+): ModelCompat {
+ const hints: ModelCompat = {}
+ const interleaved = model.interleaved
+ const replayField =
+ typeof interleaved === 'object' ? interleaved.field : undefined
+ if (wire.api === 'openai-completions' && replayField === 'reasoning_content')
+ hints.requiresReasoningContentOnAssistantMessages = true
+ if (model.temperature === false) hints.supportsTemperature = false
+ const options = model.reasoning_options ?? []
+ // pi's rule: Claude 4.6 and later think adaptively, on every provider of
+ // the Anthropic wire. Another model on that wire thinks with a budget unless its
+ // provider row says otherwise (models.dev lists `effort` for many models
+ // that a gateway serves with budget thinking).
+ if (wire.api === 'anthropic-messages' && ADAPTIVE_CLAUDE.test(model.id))
+ hints.forceAdaptiveThinking = true
+ if (effortByModel && wire.api === 'openai-completions')
+ hints.supportsReasoningEffort = (effortValues(options)?.length ?? 0) > 0
+ return hints
+}
+
+const INPUTS: ReadonlyArray = [
+ 'text',
+ 'image',
+ 'audio',
+ 'video',
+ 'document',
+]
+
+/** models.dev input kinds, in the catalog's names. `pdf` and `file` are documents. */
+export function inputModalities(
+ input: ReadonlyArray | undefined,
+): ReadonlyArray {
+ const mapped = (input ?? ['text']).map((kind) =>
+ kind === 'pdf' || kind === 'file' ? 'document' : kind,
+ )
+ const known = INPUTS.filter((kind) => mapped.includes(kind))
+ return known.length > 0 ? known : ['text']
+}
+
+// ponytail: an id match. Embedding, reranking, and transcription models list
+// text output too, and models.dev has no other field that tells them apart.
+const NOT_CHAT = /embed|rerank|whisper|transcri/i
+
+/** A chat model that makes text (not only images, speech, or embeddings). */
+export function makesText(model: DevModel): boolean {
+ return (
+ (model.modalities?.output ?? ['text']).includes('text') &&
+ !NOT_CHAT.test(model.id)
+ )
+}
diff --git a/packages/ai-models/src/catalog.ts b/packages/ai-models/src/catalog.ts
new file mode 100644
index 0000000000..e34afe4503
--- /dev/null
+++ b/packages/ai-models/src/catalog.ts
@@ -0,0 +1,84 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import * as amazonBedrock from './providers/amazon-bedrock'
+import * as antLing from './providers/ant-ling'
+import * as anthropic from './providers/anthropic'
+import * as azureOpenaiResponses from './providers/azure-openai-responses'
+import * as baseten from './providers/baseten'
+import * as cerebras from './providers/cerebras'
+import * as cloudflareAiGateway from './providers/cloudflare-ai-gateway'
+import * as cloudflareWorkersAi from './providers/cloudflare-workers-ai'
+import * as deepseek from './providers/deepseek'
+import * as fireworks from './providers/fireworks'
+import * as google from './providers/google'
+import * as googleVertex from './providers/google-vertex'
+import * as groq from './providers/groq'
+import * as huggingface from './providers/huggingface'
+import * as kimiCoding from './providers/kimi-coding'
+import * as meta from './providers/meta'
+import * as minimax from './providers/minimax'
+import * as minimaxCn from './providers/minimax-cn'
+import * as mistral from './providers/mistral'
+import * as moonshotai from './providers/moonshotai'
+import * as moonshotaiCn from './providers/moonshotai-cn'
+import * as nvidia from './providers/nvidia'
+import * as openai from './providers/openai'
+import * as opencode from './providers/opencode'
+import * as opencodeGo from './providers/opencode-go'
+import * as openrouter from './providers/openrouter'
+import * as qwenTokenPlan from './providers/qwen-token-plan'
+import * as qwenTokenPlanCn from './providers/qwen-token-plan-cn'
+import * as qwenTokenPlanIndividual from './providers/qwen-token-plan-individual'
+import * as together from './providers/together'
+import * as vercelAiGateway from './providers/vercel-ai-gateway'
+import * as xai from './providers/xai'
+import * as xiaomi from './providers/xiaomi'
+import * as xiaomiTokenPlanAms from './providers/xiaomi-token-plan-ams'
+import * as xiaomiTokenPlanCn from './providers/xiaomi-token-plan-cn'
+import * as xiaomiTokenPlanSgp from './providers/xiaomi-token-plan-sgp'
+import * as zai from './providers/zai'
+import * as zaiCodingCn from './providers/zai-coding-cn'
+
+/** The day the catalog was generated, as `YYYY-MM-DD`. */
+export const generatedAt = '2026-10-14'
+
+/** Every provider module, in id order. */
+export const providerModules = [
+ amazonBedrock,
+ antLing,
+ anthropic,
+ azureOpenaiResponses,
+ baseten,
+ cerebras,
+ cloudflareAiGateway,
+ cloudflareWorkersAi,
+ deepseek,
+ fireworks,
+ google,
+ googleVertex,
+ groq,
+ huggingface,
+ kimiCoding,
+ meta,
+ minimax,
+ minimaxCn,
+ mistral,
+ moonshotai,
+ moonshotaiCn,
+ nvidia,
+ openai,
+ opencode,
+ opencodeGo,
+ openrouter,
+ qwenTokenPlan,
+ qwenTokenPlanCn,
+ qwenTokenPlanIndividual,
+ together,
+ vercelAiGateway,
+ xai,
+ xiaomi,
+ xiaomiTokenPlanAms,
+ xiaomiTokenPlanCn,
+ xiaomiTokenPlanSgp,
+ zai,
+ zaiCodingCn,
+]
diff --git a/packages/ai-models/src/cost.ts b/packages/ai-models/src/cost.ts
new file mode 100644
index 0000000000..aaaffebd79
--- /dev/null
+++ b/packages/ai-models/src/cost.ts
@@ -0,0 +1,38 @@
+import type { Cost, ModelRecord, TokenCounts } from './types'
+
+/**
+ * What a call cost in USD: each price is per 1M tokens, so the cost of a part
+ * is `price / 1_000_000 * tokens`. pi's rules:
+ * - A call with more input than a tier's `inputTokensAbove` uses that tier's
+ * prices: the tier with the highest threshold below the input (uncached +
+ * cache read + cache write).
+ * - A 1-hour cache write (`cacheWrite1h`) costs 2x the input price. The rest
+ * of `cacheWrite` costs the cache write price.
+ */
+export function modelCost(
+ model: Pick,
+ usage: TokenCounts,
+): Cost {
+ const totalInput =
+ usage.input + (usage.cacheRead ?? 0) + (usage.cacheWrite ?? 0)
+ const rates =
+ (model.cost.tiers ?? [])
+ .filter((tier) => totalInput > tier.inputTokensAbove)
+ .sort((a, b) => b.inputTokensAbove - a.inputTokensAbove)[0] ?? model.cost
+ const part = (price: number, tokens = 0) => (price / 1_000_000) * tokens
+ // ponytail: `cacheWrite1h` is a part of `cacheWrite`, so it is capped there.
+ const longWrite = Math.min(usage.cacheWrite1h ?? 0, usage.cacheWrite ?? 0)
+ const input = part(rates.input, usage.input)
+ const output = part(rates.output, usage.output)
+ const cacheRead = part(rates.cacheRead, usage.cacheRead)
+ const cacheWrite =
+ part(rates.cacheWrite, (usage.cacheWrite ?? 0) - longWrite) +
+ part(rates.input * 2, longWrite)
+ return {
+ input,
+ output,
+ cacheRead,
+ cacheWrite,
+ total: input + output + cacheRead + cacheWrite,
+ }
+}
diff --git a/packages/ai-models/src/index.ts b/packages/ai-models/src/index.ts
new file mode 100644
index 0000000000..33928c6272
--- /dev/null
+++ b/packages/ai-models/src/index.ts
@@ -0,0 +1,42 @@
+import { generatedAt, providerModules } from './catalog'
+import type { ModelRecord, ProviderRecord } from './types'
+
+export { generatedAt }
+export { clampReasoningLevel, supportedReasoningLevels } from './reasoning'
+export { modelCost } from './cost'
+export type {
+ Cost,
+ InputModality,
+ ModelCompat,
+ ModelCostRates,
+ ModelCostTier,
+ ModelReasoning,
+ ModelRecord,
+ ProviderRecord,
+ ReasoningLevel,
+ ReasoningLevels,
+ ThinkingFormat,
+ TokenCounts,
+ WireApi,
+} from './types'
+
+/** Every provider, in id order. */
+export function getProviders(): ReadonlyArray {
+ return providerModules.map((module) => module.provider)
+}
+
+/** Every model of a provider, sorted by id. Empty for an unknown provider. */
+export function getModels(providerId: string): ReadonlyArray {
+ return (
+ providerModules.find((module) => module.provider.id === providerId)
+ ?.models ?? []
+ )
+}
+
+/** One model, or `undefined` when the catalog does not have it. */
+export function getModel(
+ providerId: string,
+ modelId: string,
+): ModelRecord | undefined {
+ return getModels(providerId).find((model) => model.id === modelId)
+}
diff --git a/packages/ai-models/src/providers/amazon-bedrock.ts b/packages/ai-models/src/providers/amazon-bedrock.ts
new file mode 100644
index 0000000000..673cd9ff61
--- /dev/null
+++ b/packages/ai-models/src/providers/amazon-bedrock.ts
@@ -0,0 +1,3468 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Amazon Bedrock. */
+export const provider: ProviderRecord = {
+ id: 'amazon-bedrock',
+ name: 'Amazon Bedrock',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ apis: ['bedrock-converse-stream'],
+ env: [
+ ['AWS_PROFILE'],
+ ['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY'],
+ ['AWS_BEARER_TOKEN_BEDROCK'],
+ ['AWS_CONTAINER_CREDENTIALS_RELATIVE_URI'],
+ ['AWS_CONTAINER_CREDENTIALS_FULL_URI'],
+ ['AWS_WEB_IDENTITY_TOKEN_FILE'],
+ ],
+}
+
+/** Every Amazon Bedrock model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'amazon.nova-2-lite-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova 2 Lite',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.33, output: 2.75, cacheRead: 0.0825, cacheWrite: 0.33 },
+ contextWindow: 1000000,
+ maxTokens: 65535,
+ },
+ {
+ id: 'amazon.nova-lite-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Lite',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: false,
+ cost: { input: 0.06, output: 0.24, cacheRead: 0.015, cacheWrite: 0.06 },
+ contextWindow: 300000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'amazon.nova-micro-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Micro',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.035, output: 0.14, cacheRead: 0.00875, cacheWrite: 0.035 },
+ contextWindow: 128000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'amazon.nova-pro-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Pro',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: false,
+ cost: { input: 0.8, output: 3.2, cacheRead: 0.2, cacheWrite: 0.8 },
+ contextWindow: 300000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'anthropic.claude-fable-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Fable 5',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'anthropic.claude-fable-5-1',
+ provider: 'amazon-bedrock',
+ name: 'Claude Fable 5.1',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'anthropic.claude-haiku-4-5-20251001-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Haiku 4.5',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'anthropic.claude-opus-4-1-20250805-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.1',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 15, output: 75, cacheRead: 1.5, cacheWrite: 18.75 },
+ contextWindow: 200000,
+ maxTokens: 32000,
+ },
+ {
+ id: 'anthropic.claude-opus-4-5-20251101-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.5',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'anthropic.claude-opus-4-6-v1',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.6',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'anthropic.claude-opus-4-7',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.7',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'anthropic.claude-opus-4-8',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.8',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'anthropic.claude-opus-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 5',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'anthropic.claude-opus-5-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 5.5',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'anthropic.claude-sonnet-4-5-20250929-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4.5',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'anthropic.claude-sonnet-4-6',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4.6',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 3.3, output: 16.5, cacheRead: 0.33, cacheWrite: 4.125 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'anthropic.claude-sonnet-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 5',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'anthropic.claude-sonnet-5-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 5.5',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'apac.amazon.nova-lite-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Lite (APAC)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: false,
+ cost: {
+ input: 0.063,
+ output: 0.252,
+ cacheRead: 0.01575,
+ cacheWrite: 0.063,
+ },
+ contextWindow: 300000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'apac.amazon.nova-micro-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Micro (APAC)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: {
+ input: 0.037,
+ output: 0.148,
+ cacheRead: 0.00925,
+ cacheWrite: 0.037,
+ },
+ contextWindow: 128000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'apac.amazon.nova-pro-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Pro (APAC)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: false,
+ cost: { input: 0.84, output: 3.36, cacheRead: 0.21, cacheWrite: 0.84 },
+ contextWindow: 300000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'apac.anthropic.claude-sonnet-4-20250514-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4 (APAC)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'au.anthropic.claude-haiku-4-5-20251001-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Haiku 4.5 (AU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 1.1, output: 5.5, cacheRead: 0.11, cacheWrite: 1.375 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'au.anthropic.claude-opus-4-6-v1',
+ provider: 'amazon-bedrock',
+ name: 'AU Anthropic Claude Opus 4.6',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'au.anthropic.claude-opus-4-7',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.7 (AU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'au.anthropic.claude-opus-4-8',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.8 (AU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'au.anthropic.claude-opus-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 5 (AU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'au.anthropic.claude-opus-5-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 5.5 (AU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 4.4, output: 22, cacheRead: 0.22, cacheWrite: 5.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'au.anthropic.claude-sonnet-4-5-20250929-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4.5 (AU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 3.3, output: 16.5, cacheRead: 0.33, cacheWrite: 4.125 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'au.anthropic.claude-sonnet-4-6',
+ provider: 'amazon-bedrock',
+ name: 'AU Anthropic Claude Sonnet 4.6',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 3.3, output: 16.5, cacheRead: 0.33, cacheWrite: 4.125 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'au.anthropic.claude-sonnet-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 5 (AU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2.2, output: 11, cacheRead: 0.22, cacheWrite: 2.75 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'ca.amazon.nova-lite-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Lite (CA)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: false,
+ cost: { input: 0.064, output: 0.256, cacheRead: 0.016, cacheWrite: 0.064 },
+ contextWindow: 300000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'deepseek.r1-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'DeepSeek-R1',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.35, output: 5.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32768,
+ },
+ {
+ id: 'deepseek.v3-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'DeepSeek-V3.1',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.58, output: 1.68, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 81920,
+ },
+ {
+ id: 'deepseek.v3.2',
+ provider: 'amazon-bedrock',
+ name: 'DeepSeek V3.2',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.62, output: 1.85, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 81920,
+ },
+ {
+ id: 'eu.amazon.nova-2-lite-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova 2 Lite (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.374, output: 3.157, cacheRead: 0.0935, cacheWrite: 0.374 },
+ contextWindow: 1000000,
+ maxTokens: 65535,
+ },
+ {
+ id: 'eu.amazon.nova-lite-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Lite (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: false,
+ cost: {
+ input: 0.069,
+ output: 0.276,
+ cacheRead: 0.01725,
+ cacheWrite: 0.069,
+ },
+ contextWindow: 300000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'eu.amazon.nova-micro-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Micro (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.04, output: 0.16, cacheRead: 0.01, cacheWrite: 0.04 },
+ contextWindow: 128000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'eu.amazon.nova-pro-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Pro (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: false,
+ cost: { input: 0.92, output: 3.68, cacheRead: 0.23, cacheWrite: 0.92 },
+ contextWindow: 300000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'eu.anthropic.claude-fable-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Fable 5 (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 11, output: 55, cacheRead: 1.1, cacheWrite: 13.75 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'eu.anthropic.claude-haiku-4-5-20251001-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Haiku 4.5 (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 1.1, output: 5.5, cacheRead: 0.11, cacheWrite: 1.375 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'eu.anthropic.claude-opus-4-5-20251101-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.5 (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'eu.anthropic.claude-opus-4-6-v1',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.6 (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'eu.anthropic.claude-opus-4-7',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.7 (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'eu.anthropic.claude-opus-4-8',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.8 (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'eu.anthropic.claude-opus-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 5 (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'eu.anthropic.claude-opus-5-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 5.5 (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 4.4, output: 22, cacheRead: 0.22, cacheWrite: 5.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'eu.anthropic.claude-sonnet-4-20250514-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4 (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'eu.anthropic.claude-sonnet-4-5-20250929-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4.5 (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 3.3, output: 16.5, cacheRead: 0.33, cacheWrite: 4.125 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'eu.anthropic.claude-sonnet-4-6',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4.6 (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 3.3, output: 16.5, cacheRead: 0.33, cacheWrite: 4.125 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'eu.anthropic.claude-sonnet-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 5 (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2.2, output: 11, cacheRead: 0.22, cacheWrite: 2.75 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'eu.mistral.pixtral-large-2502-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Pixtral Large (25.02) (EU)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.eu-central-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2, output: 6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'global.amazon.nova-2-lite-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova 2 Lite (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.075, cacheWrite: 0.3 },
+ contextWindow: 1000000,
+ maxTokens: 65535,
+ },
+ {
+ id: 'global.anthropic.claude-fable-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Fable 5 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.anthropic.claude-fable-5-1',
+ provider: 'amazon-bedrock',
+ name: 'Claude Fable 5.1 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.anthropic.claude-haiku-4-5-20251001-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Haiku 4.5 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'global.anthropic.claude-opus-4-5-20251101-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.5 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'global.anthropic.claude-opus-4-6-v1',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.6 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'global.anthropic.claude-opus-4-7',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.7 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.anthropic.claude-opus-4-8',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.8 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.anthropic.claude-opus-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 5 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.anthropic.claude-opus-5-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 5.5 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.anthropic.claude-sonnet-4-20250514-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'global.anthropic.claude-sonnet-4-5-20250929-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4.5 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'global.anthropic.claude-sonnet-4-6',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4.6 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'global.anthropic.claude-sonnet-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 5 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.anthropic.claude-sonnet-5-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 5.5 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.moonshotai.kimi-k3',
+ provider: 'amazon-bedrock',
+ name: 'Kimi K3 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 1048576,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.openai.gpt-5.6-luna',
+ provider: 'amazon-bedrock',
+ name: 'GPT-5.6 Luna (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.2,
+ output: 1.2,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.4,
+ output: 1.8,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.openai.gpt-5.6-sol',
+ provider: 'amazon-bedrock',
+ name: 'GPT-5.6 Sol (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 4,
+ output: 20,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 8,
+ output: 30,
+ cacheRead: 0.8,
+ cacheWrite: 10,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.openai.gpt-5.6-terra',
+ provider: 'amazon-bedrock',
+ name: 'GPT-5.6 Terra (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.openai.gpt-6-astra',
+ provider: 'amazon-bedrock',
+ name: 'GPT-6 Astra (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 10,
+ output: 50,
+ cacheRead: 1,
+ cacheWrite: 12.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 20,
+ output: 75,
+ cacheRead: 2,
+ cacheWrite: 25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.openai.gpt-6-luna',
+ provider: 'amazon-bedrock',
+ name: 'GPT-6 Luna (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.1,
+ output: 0.5,
+ cacheRead: 0.01,
+ cacheWrite: 0.125,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.2,
+ output: 0.75,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.openai.gpt-6-sol',
+ provider: 'amazon-bedrock',
+ name: 'GPT-6 Sol (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'global.xai.grok-4.6',
+ provider: 'amazon-bedrock',
+ name: 'Grok 4.6 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ },
+ {
+ id: 'global.xai.grok-4.7',
+ provider: 'amazon-bedrock',
+ name: 'Grok 4.7 (Global)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ },
+ {
+ id: 'google.gemma-3-12b-it',
+ provider: 'amazon-bedrock',
+ name: 'Gemma 3 12B IT',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.09, output: 0.29, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ },
+ {
+ id: 'google.gemma-3-27b-it',
+ provider: 'amazon-bedrock',
+ name: 'Gemma 3 27B IT',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.23, output: 0.38, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ },
+ {
+ id: 'google.gemma-3-4b-it',
+ provider: 'amazon-bedrock',
+ name: 'Gemma 3 4B IT',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.04, output: 0.08, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 4096,
+ },
+ {
+ id: 'google.gemma-4-26b-a4b',
+ provider: 'amazon-bedrock',
+ name: 'Gemma 4 26B A4B IT',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.13, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ },
+ {
+ id: 'google.gemma-4-31b',
+ provider: 'amazon-bedrock',
+ name: 'Gemma 4 31B IT',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ },
+ {
+ id: 'google.gemma-4-e2b',
+ provider: 'amazon-bedrock',
+ name: 'Gemma 4 E2B IT',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.04, output: 0.08, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ },
+ {
+ id: 'in.openai.gpt-5.6-luna',
+ provider: 'amazon-bedrock',
+ name: 'GPT-5.6 Luna (India)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.22,
+ output: 1.32,
+ cacheRead: 0.022,
+ cacheWrite: 0.275,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.44,
+ output: 1.98,
+ cacheRead: 0.044,
+ cacheWrite: 0.55,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'in.openai.gpt-5.6-terra',
+ provider: 'amazon-bedrock',
+ name: 'GPT-5.6 Terra (India)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2.2,
+ output: 13.2,
+ cacheRead: 0.22,
+ cacheWrite: 2.75,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4.4,
+ output: 19.8,
+ cacheRead: 0.44,
+ cacheWrite: 5.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'jp.amazon.nova-2-lite-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova 2 Lite (JP)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.396, output: 3.311, cacheRead: 0.099, cacheWrite: 0.396 },
+ contextWindow: 1000000,
+ maxTokens: 65535,
+ },
+ {
+ id: 'jp.anthropic.claude-haiku-4-5-20251001-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Haiku 4.5 (JP)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 1.1, output: 5.5, cacheRead: 0.11, cacheWrite: 1.375 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'jp.anthropic.claude-opus-4-7',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.7 (JP)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'jp.anthropic.claude-opus-4-8',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.8 (JP)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'jp.anthropic.claude-opus-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 5 (JP)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'jp.anthropic.claude-opus-5-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 5.5 (JP)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 4.4, output: 22, cacheRead: 0.22, cacheWrite: 5.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'jp.anthropic.claude-sonnet-4-5-20250929-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4.5 (JP)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 3.3, output: 16.5, cacheRead: 0.33, cacheWrite: 4.125 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'jp.anthropic.claude-sonnet-4-6',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4.6 (JP)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 3.3, output: 16.5, cacheRead: 0.33, cacheWrite: 4.125 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'jp.anthropic.claude-sonnet-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 5 (JP)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2.2, output: 11, cacheRead: 0.22, cacheWrite: 2.75 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'meta.llama3-1-70b-instruct-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Llama 3.1 70B Instruct',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.72, output: 0.72, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'meta.llama3-1-8b-instruct-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Llama 3.1 8B Instruct',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.22, output: 0.22, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'meta.llama3-3-70b-instruct-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Llama 3.3 70B Instruct',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.72, output: 0.72, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'meta.llama4-maverick-17b-instruct-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Llama 4 Maverick 17B Instruct',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.24, output: 0.97, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'meta.llama4-scout-17b-instruct-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Llama 4 Scout 17B Instruct',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.17, output: 0.66, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 10000000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'minimax.minimax-m2',
+ provider: 'amazon-bedrock',
+ name: 'MiniMax-M2',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204608,
+ maxTokens: 128000,
+ },
+ {
+ id: 'minimax.minimax-m2.1',
+ provider: 'amazon-bedrock',
+ name: 'MiniMax-M2.1',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 196608,
+ maxTokens: 131072,
+ },
+ {
+ id: 'minimax.minimax-m2.5',
+ provider: 'amazon-bedrock',
+ name: 'MiniMax-M2.5',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 196608,
+ maxTokens: 98304,
+ },
+ {
+ id: 'mistral.devstral-2-123b',
+ provider: 'amazon-bedrock',
+ name: 'Devstral 2 123B',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.4, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 8192,
+ },
+ {
+ id: 'mistral.magistral-small-2509',
+ provider: 'amazon-bedrock',
+ name: 'Magistral Small 1.2',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 40000,
+ },
+ {
+ id: 'mistral.ministral-3-14b-instruct',
+ provider: 'amazon-bedrock',
+ name: 'Ministral 14B 3.0',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.2, output: 0.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'mistral.ministral-3-3b-instruct',
+ provider: 'amazon-bedrock',
+ name: 'Ministral 3 3B',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'mistral.ministral-3-8b-instruct',
+ provider: 'amazon-bedrock',
+ name: 'Ministral 3 8B',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'mistral.mistral-large-3-675b-instruct',
+ provider: 'amazon-bedrock',
+ name: 'Mistral Large 3',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.5, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 8192,
+ },
+ {
+ id: 'mistral.pixtral-large-2502-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Pixtral Large (25.02)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2, output: 6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'mistral.voxtral-mini-3b-2507',
+ provider: 'amazon-bedrock',
+ name: 'Voxtral Mini 3B 2507',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 0.04, output: 0.04, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 4096,
+ },
+ {
+ id: 'mistral.voxtral-small-24b-2507',
+ provider: 'amazon-bedrock',
+ name: 'Voxtral Small 24B 2507',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 8192,
+ },
+ {
+ id: 'moonshot.kimi-k2-thinking',
+ provider: 'amazon-bedrock',
+ name: 'Kimi K2 Thinking',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 2.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 16000,
+ },
+ {
+ id: 'moonshotai.kimi-k2.5',
+ provider: 'amazon-bedrock',
+ name: 'Kimi K2.5',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 16384,
+ },
+ {
+ id: 'nvidia.nemotron-nano-12b-v2',
+ provider: 'amazon-bedrock',
+ name: 'NVIDIA Nemotron Nano 12B v2 VL BF16',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.2, output: 0.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ },
+ {
+ id: 'nvidia.nemotron-nano-3-30b',
+ provider: 'amazon-bedrock',
+ name: 'NVIDIA Nemotron Nano 3 30B',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.06, output: 0.24, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 8192,
+ },
+ {
+ id: 'nvidia.nemotron-nano-9b-v2',
+ provider: 'amazon-bedrock',
+ name: 'NVIDIA Nemotron Nano 9B v2',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.06, output: 0.23, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ },
+ {
+ id: 'nvidia.nemotron-super-3-120b',
+ provider: 'amazon-bedrock',
+ name: 'NVIDIA Nemotron 3 Super 120B A12B',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.65, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ },
+ {
+ id: 'openai.gpt-5.4',
+ provider: 'amazon-bedrock',
+ name: 'GPT-5.4',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 2.75, output: 16.5, cacheRead: 0.275, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'openai.gpt-5.5',
+ provider: 'amazon-bedrock',
+ name: 'GPT-5.5',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 5.5, output: 33, cacheRead: 0.55, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'openai.gpt-5.6-luna',
+ provider: 'amazon-bedrock',
+ name: 'GPT-5.6 Luna',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.22,
+ output: 1.32,
+ cacheRead: 0.022,
+ cacheWrite: 0.275,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.44,
+ output: 1.98,
+ cacheRead: 0.044,
+ cacheWrite: 0.55,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'openai.gpt-5.6-sol',
+ provider: 'amazon-bedrock',
+ name: 'GPT-5.6 Sol',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 4.4,
+ output: 22,
+ cacheRead: 0.44,
+ cacheWrite: 5.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 8.8,
+ output: 33,
+ cacheRead: 0.88,
+ cacheWrite: 11,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'openai.gpt-5.6-terra',
+ provider: 'amazon-bedrock',
+ name: 'GPT-5.6 Terra',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2.2,
+ output: 13.2,
+ cacheRead: 0.22,
+ cacheWrite: 2.75,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4.4,
+ output: 19.8,
+ cacheRead: 0.44,
+ cacheWrite: 5.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'openai.gpt-6-astra',
+ provider: 'amazon-bedrock',
+ name: 'GPT-6 Astra',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 11,
+ output: 55,
+ cacheRead: 1.1,
+ cacheWrite: 13.75,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 22,
+ output: 82.5,
+ cacheRead: 2.2,
+ cacheWrite: 27.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'openai.gpt-6-luna',
+ provider: 'amazon-bedrock',
+ name: 'GPT-6 Luna',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.11,
+ output: 0.55,
+ cacheRead: 0.011,
+ cacheWrite: 0.1375,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.22,
+ output: 0.825,
+ cacheRead: 0.022,
+ cacheWrite: 0.275,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'openai.gpt-6-sol',
+ provider: 'amazon-bedrock',
+ name: 'GPT-6 Sol',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2.2,
+ output: 11,
+ cacheRead: 0.22,
+ cacheWrite: 2.75,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4.4,
+ output: 16.5,
+ cacheRead: 0.44,
+ cacheWrite: 5.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'openai.gpt-oss-120b',
+ provider: 'amazon-bedrock',
+ name: 'gpt-oss-120b',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ },
+ {
+ id: 'openai.gpt-oss-120b-1:0',
+ provider: 'amazon-bedrock',
+ name: 'gpt-oss-120b',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 128000,
+ },
+ {
+ id: 'openai.gpt-oss-20b',
+ provider: 'amazon-bedrock',
+ name: 'gpt-oss-20b',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.07, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ },
+ {
+ id: 'openai.gpt-oss-20b-1:0',
+ provider: 'amazon-bedrock',
+ name: 'gpt-oss-20b',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.07, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 128000,
+ },
+ {
+ id: 'openai.gpt-oss-safeguard-120b',
+ provider: 'amazon-bedrock',
+ name: 'GPT OSS Safeguard 120B',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ },
+ {
+ id: 'openai.gpt-oss-safeguard-20b',
+ provider: 'amazon-bedrock',
+ name: 'GPT OSS Safeguard 20B',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.07, output: 0.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ },
+ {
+ id: 'qwen.qwen3-235b-a22b-2507-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Qwen3 235B-A22B Instruct 2507',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.22, output: 0.88, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ },
+ {
+ id: 'qwen.qwen3-32b-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Qwen3 32B',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 16384,
+ },
+ {
+ id: 'qwen.qwen3-coder-30b-a3b-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Qwen3-Coder 30B-A3B Instruct',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ },
+ {
+ id: 'qwen.qwen3-coder-480b-a35b-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Qwen3-Coder 480B-A35B Instruct',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.45, output: 1.8, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 65536,
+ },
+ {
+ id: 'qwen.qwen3-coder-next',
+ provider: 'amazon-bedrock',
+ name: 'Qwen3 Coder Next',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.5, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ },
+ {
+ id: 'qwen.qwen3-next-80b-a3b',
+ provider: 'amazon-bedrock',
+ name: 'Qwen3-Next 80B-A3B Instruct',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.15, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262000,
+ },
+ {
+ id: 'qwen.qwen3-vl-235b-a22b',
+ provider: 'amazon-bedrock',
+ name: 'Qwen3 VL 235B A22B Instruct',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.53, output: 2.66, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262000,
+ },
+ {
+ id: 'us-gov.openai.gpt-oss-120b-1:0',
+ provider: 'amazon-bedrock',
+ name: 'gpt-oss-120b (GovCloud)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.18, output: 0.72, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ },
+ {
+ id: 'us-gov.openai.gpt-oss-20b-1:0',
+ provider: 'amazon-bedrock',
+ name: 'gpt-oss-20b (GovCloud)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.084, output: 0.36, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ },
+ {
+ id: 'us.amazon.nova-2-lite-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova 2 Lite (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.33, output: 2.75, cacheRead: 0.0825, cacheWrite: 0.33 },
+ contextWindow: 1000000,
+ maxTokens: 65535,
+ },
+ {
+ id: 'us.amazon.nova-lite-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Lite (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: false,
+ cost: { input: 0.06, output: 0.24, cacheRead: 0.015, cacheWrite: 0.06 },
+ contextWindow: 300000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'us.amazon.nova-micro-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Micro (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.035, output: 0.14, cacheRead: 0.00875, cacheWrite: 0.035 },
+ contextWindow: 128000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'us.amazon.nova-premier-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Premier (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: false,
+ cost: { input: 2.5, output: 12.5, cacheRead: 0.625, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'us.amazon.nova-pro-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Nova Pro (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: false,
+ cost: { input: 0.8, output: 3.2, cacheRead: 0.2, cacheWrite: 0.8 },
+ contextWindow: 300000,
+ maxTokens: 10000,
+ },
+ {
+ id: 'us.anthropic.claude-fable-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Fable 5 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 11, output: 55, cacheRead: 1.1, cacheWrite: 13.75 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.anthropic.claude-fable-5-1',
+ provider: 'amazon-bedrock',
+ name: 'Claude Fable 5.1 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 11, output: 55, cacheRead: 0.275, cacheWrite: 13.75 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.anthropic.claude-haiku-4-5-20251001-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Haiku 4.5 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 1.1, output: 5.5, cacheRead: 0.11, cacheWrite: 1.375 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'us.anthropic.claude-opus-4-1-20250805-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.1 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 15, output: 75, cacheRead: 1.5, cacheWrite: 18.75 },
+ contextWindow: 200000,
+ maxTokens: 32000,
+ },
+ {
+ id: 'us.anthropic.claude-opus-4-5-20251101-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.5 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'us.anthropic.claude-opus-4-6-v1',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.6 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'us.anthropic.claude-opus-4-7',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.7 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.anthropic.claude-opus-4-8',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 4.8 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.anthropic.claude-opus-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 5 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5.5, output: 27.5, cacheRead: 0.55, cacheWrite: 6.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.anthropic.claude-opus-5-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Opus 5.5 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 4.4, output: 22, cacheRead: 0.22, cacheWrite: 5.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.anthropic.claude-sonnet-4-20250514-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'us.anthropic.claude-sonnet-4-5-20250929-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4.5 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 3.3, output: 16.5, cacheRead: 0.33, cacheWrite: 4.125 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'us.anthropic.claude-sonnet-4-6',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 4.6 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 3.3, output: 16.5, cacheRead: 0.33, cacheWrite: 4.125 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'us.anthropic.claude-sonnet-5',
+ provider: 'amazon-bedrock',
+ name: 'Claude Sonnet 5 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2.2, output: 11, cacheRead: 0.22, cacheWrite: 2.75 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.deepseek.r1-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'DeepSeek-R1 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.35, output: 5.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32768,
+ },
+ {
+ id: 'us.meta.llama3-1-70b-instruct-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Llama 3.1 70B Instruct (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.72, output: 0.72, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'us.meta.llama3-1-8b-instruct-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Llama 3.1 8B Instruct (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.22, output: 0.22, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'us.meta.llama3-3-70b-instruct-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Llama 3.3 70B Instruct (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.72, output: 0.72, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'us.meta.llama4-maverick-17b-instruct-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Llama 4 Maverick 17B Instruct (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.24, output: 0.97, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'us.meta.llama4-scout-17b-instruct-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Llama 4 Scout 17B Instruct (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.17, output: 0.66, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 10000000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'us.mistral.pixtral-large-2502-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Pixtral Large (25.02) (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2, output: 6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'us.moonshotai.kimi-k3',
+ provider: 'amazon-bedrock',
+ name: 'Kimi K3 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 3.3, output: 16.5, cacheRead: 0.33, cacheWrite: 4.125 },
+ contextWindow: 1048576,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.openai.gpt-5.6-luna',
+ provider: 'amazon-bedrock',
+ name: 'GPT-5.6 Luna (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.22,
+ output: 1.32,
+ cacheRead: 0.022,
+ cacheWrite: 0.275,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.44,
+ output: 1.98,
+ cacheRead: 0.044,
+ cacheWrite: 0.55,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.openai.gpt-5.6-sol',
+ provider: 'amazon-bedrock',
+ name: 'GPT-5.6 Sol (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 4.4,
+ output: 22,
+ cacheRead: 0.44,
+ cacheWrite: 5.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 8.8,
+ output: 33,
+ cacheRead: 0.88,
+ cacheWrite: 11,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.openai.gpt-5.6-terra',
+ provider: 'amazon-bedrock',
+ name: 'GPT-5.6 Terra (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2.2,
+ output: 13.2,
+ cacheRead: 0.22,
+ cacheWrite: 2.75,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4.4,
+ output: 19.8,
+ cacheRead: 0.44,
+ cacheWrite: 5.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.openai.gpt-6-astra',
+ provider: 'amazon-bedrock',
+ name: 'GPT-6 Astra (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 11,
+ output: 55,
+ cacheRead: 1.1,
+ cacheWrite: 13.75,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 22,
+ output: 82.5,
+ cacheRead: 2.2,
+ cacheWrite: 27.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.openai.gpt-6-luna',
+ provider: 'amazon-bedrock',
+ name: 'GPT-6 Luna (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.11,
+ output: 0.55,
+ cacheRead: 0.011,
+ cacheWrite: 0.1375,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.22,
+ output: 0.825,
+ cacheRead: 0.022,
+ cacheWrite: 0.275,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.openai.gpt-6-sol',
+ provider: 'amazon-bedrock',
+ name: 'GPT-6 Sol (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2.2,
+ output: 11,
+ cacheRead: 0.22,
+ cacheWrite: 2.75,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4.4,
+ output: 16.5,
+ cacheRead: 0.44,
+ cacheWrite: 5.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'us.writer.palmyra-x4-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Palmyra X4 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 10, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 122880,
+ maxTokens: 8192,
+ },
+ {
+ id: 'us.writer.palmyra-x5-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Palmyra X5 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1040000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'us.xai.grok-4.6',
+ provider: 'amazon-bedrock',
+ name: 'Grok 4.6 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 2.2, output: 6.6, cacheRead: 0.55, cacheWrite: 0 },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ },
+ {
+ id: 'us.xai.grok-4.7',
+ provider: 'amazon-bedrock',
+ name: 'Grok 4.7 (US)',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 2.2, output: 6.6, cacheRead: 0.55, cacheWrite: 0 },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ },
+ {
+ id: 'writer.palmyra-x4-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Palmyra X4',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 10, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 122880,
+ maxTokens: 8192,
+ },
+ {
+ id: 'writer.palmyra-x5-v1:0',
+ provider: 'amazon-bedrock',
+ name: 'Palmyra X5',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1040000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'xai.grok-4.3',
+ provider: 'amazon-bedrock',
+ name: 'Grok 4.3',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 2.5, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ },
+ {
+ id: 'xai.grok-4.6',
+ provider: 'amazon-bedrock',
+ name: 'Grok 4.6',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 2.2, output: 6.6, cacheRead: 0.55, cacheWrite: 0 },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ },
+ {
+ id: 'zai.glm-4.7',
+ provider: 'amazon-bedrock',
+ name: 'GLM-4.7',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 202752,
+ maxTokens: 131072,
+ },
+ {
+ id: 'zai.glm-4.7-flash',
+ provider: 'amazon-bedrock',
+ name: 'GLM-4.7-Flash',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.07, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 202752,
+ maxTokens: 131072,
+ },
+ {
+ id: 'zai.glm-5',
+ provider: 'amazon-bedrock',
+ name: 'GLM-5',
+ api: 'bedrock-converse-stream',
+ baseUrl: 'https://bedrock-runtime.us-east-1.amazonaws.com',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1, output: 3.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 202752,
+ maxTokens: 131072,
+ },
+]
diff --git a/packages/ai-models/src/providers/ant-ling.ts b/packages/ai-models/src/providers/ant-ling.ts
new file mode 100644
index 0000000000..5adc998244
--- /dev/null
+++ b/packages/ai-models/src/providers/ant-ling.ts
@@ -0,0 +1,90 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Ant Ling. */
+export const provider: ProviderRecord = {
+ id: 'ant-ling',
+ name: 'Ant Ling',
+ baseUrl: 'https://api.ant-ling.com/v1',
+ apis: ['openai-completions'],
+ env: [['ANT_LING_API_KEY']],
+}
+
+/** Every Ant Ling model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'Ling-2.6-1T',
+ provider: 'ant-ling',
+ name: 'Ling-2.6-1T',
+ api: 'openai-completions',
+ baseUrl: 'https://api.ant-ling.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'ant-ling',
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'novita-ai/inclusionai/ling-2.6-1t',
+ },
+ {
+ id: 'Ling-2.6-flash',
+ provider: 'ant-ling',
+ name: 'Ling-2.6-flash',
+ api: 'openai-completions',
+ baseUrl: 'https://api.ant-ling.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.3, cacheRead: 0.02, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'ant-ling',
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'novita-ai/inclusionai/ling-2.6-flash',
+ },
+ {
+ id: 'Ring-2.6-1T',
+ provider: 'ant-ling',
+ name: 'Ring-2.6-1T',
+ api: 'openai-completions',
+ baseUrl: 'https://api.ant-ling.com/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'ant-ling',
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'novita-ai/inclusionai/ring-2.6-1t',
+ },
+]
diff --git a/packages/ai-models/src/providers/anthropic.ts b/packages/ai-models/src/providers/anthropic.ts
new file mode 100644
index 0000000000..30585b639e
--- /dev/null
+++ b/packages/ai-models/src/providers/anthropic.ts
@@ -0,0 +1,383 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Anthropic. */
+export const provider: ProviderRecord = {
+ id: 'anthropic',
+ name: 'Anthropic',
+ baseUrl: 'https://api.anthropic.com',
+ apis: ['anthropic-messages'],
+ env: [
+ ['ANTHROPIC_API_KEY'],
+ ['ANTHROPIC_OAUTH_TOKEN'],
+ ['ANTHROPIC_AUTH_TOKEN'],
+ ],
+}
+
+/** Every Anthropic model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'claude-fable-5',
+ provider: 'anthropic',
+ name: 'Claude Fable 5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ supportsStrictTools: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'claude-fable-5-1',
+ provider: 'anthropic',
+ name: 'Claude Fable 5.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ supportsStrictTools: true,
+ supportsMidConvoEffort: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'claude-haiku-4-5',
+ provider: 'anthropic',
+ name: 'Claude Haiku 4.5 (latest)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: { supportsStrictTools: true },
+ },
+ {
+ id: 'claude-haiku-4-5-20251001',
+ provider: 'anthropic',
+ name: 'Claude Haiku 4.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: { supportsStrictTools: true },
+ },
+ {
+ id: 'claude-opus-4-5',
+ provider: 'anthropic',
+ name: 'Claude Opus 4.5 (latest)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: { supportsStrictTools: true },
+ },
+ {
+ id: 'claude-opus-4-5-20251101',
+ provider: 'anthropic',
+ name: 'Claude Opus 4.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: { supportsStrictTools: true },
+ },
+ {
+ id: 'claude-opus-4-6',
+ provider: 'anthropic',
+ name: 'Claude Opus 4.6',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', max: 'max' },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsStrictTools: true, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'claude-opus-4-7',
+ provider: 'anthropic',
+ name: 'Claude Opus 4.7',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ supportsStrictTools: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'claude-opus-4-8',
+ provider: 'anthropic',
+ name: 'Claude Opus 4.8',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ supportsStrictTools: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'claude-opus-5',
+ provider: 'anthropic',
+ name: 'Claude Opus 5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ supportsStrictTools: true,
+ supportsMidConvoEffort: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'claude-opus-5-5',
+ provider: 'anthropic',
+ name: 'Claude Opus 5.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ supportsStrictTools: true,
+ supportsMidConvoEffort: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'claude-sonnet-4-5',
+ provider: 'anthropic',
+ name: 'Claude Sonnet 4.5 (latest)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: { supportsStrictTools: true },
+ },
+ {
+ id: 'claude-sonnet-4-5-20250929',
+ provider: 'anthropic',
+ name: 'Claude Sonnet 4.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: { supportsStrictTools: true },
+ },
+ {
+ id: 'claude-sonnet-4-6',
+ provider: 'anthropic',
+ name: 'Claude Sonnet 4.6',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', max: 'max' },
+ budget: true,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsStrictTools: true, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'claude-sonnet-5',
+ provider: 'anthropic',
+ name: 'Claude Sonnet 5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ supportsStrictTools: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'claude-sonnet-5-5',
+ provider: 'anthropic',
+ name: 'Claude Sonnet 5.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.anthropic.com',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ supportsStrictTools: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/azure-openai-responses.ts b/packages/ai-models/src/providers/azure-openai-responses.ts
new file mode 100644
index 0000000000..a7b798ee26
--- /dev/null
+++ b/packages/ai-models/src/providers/azure-openai-responses.ts
@@ -0,0 +1,1441 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Azure OpenAI. */
+export const provider: ProviderRecord = {
+ id: 'azure-openai-responses',
+ name: 'Azure OpenAI',
+ baseUrl: '',
+ apis: ['azure-openai-responses'],
+ env: [['AZURE_OPENAI_API_KEY']],
+}
+
+/** Every Azure OpenAI model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'codestral-2501',
+ provider: 'azure-openai-responses',
+ name: 'Codestral 25.01',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.3, output: 0.9, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ },
+ {
+ id: 'codex-mini',
+ provider: 'azure-openai-responses',
+ name: 'Codex Mini',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 6, cacheRead: 0.375, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'cohere-command-a',
+ provider: 'azure-openai-responses',
+ name: 'Command A',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 10, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ },
+ {
+ id: 'deepseek-r1',
+ provider: 'azure-openai-responses',
+ name: 'DeepSeek-R1',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.35, output: 5.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 163840,
+ },
+ {
+ id: 'deepseek-v3.2',
+ provider: 'azure-openai-responses',
+ name: 'DeepSeek-V3.2',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.58, output: 1.68, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'deepseek-v3.2-speciale',
+ provider: 'azure-openai-responses',
+ name: 'DeepSeek-V3.2-Speciale',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.58, output: 1.68, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'gpt-3.5-turbo-0125',
+ provider: 'azure-openai-responses',
+ name: 'GPT-3.5 Turbo 0125',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.5, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 16384,
+ maxTokens: 4096,
+ },
+ {
+ id: 'gpt-3.5-turbo-1106',
+ provider: 'azure-openai-responses',
+ name: 'GPT-3.5 Turbo 1106',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 1, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 16384,
+ maxTokens: 4096,
+ },
+ {
+ id: 'gpt-3.5-turbo-instruct',
+ provider: 'azure-openai-responses',
+ name: 'GPT-3.5 Turbo Instruct',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 1.5, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 4096,
+ maxTokens: 4096,
+ },
+ {
+ id: 'gpt-4',
+ provider: 'azure-openai-responses',
+ name: 'GPT-4',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 30, output: 60, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 8192,
+ borrowedFrom: 'openai/gpt-4',
+ },
+ {
+ id: 'gpt-4-turbo',
+ provider: 'azure-openai-responses',
+ name: 'GPT-4 Turbo',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 10, output: 30, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'gpt-4-turbo-vision',
+ provider: 'azure-openai-responses',
+ name: 'GPT-4 Turbo Vision',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 10, output: 30, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'gpt-4.1',
+ provider: 'azure-openai-responses',
+ name: 'GPT-4.1',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ },
+ {
+ id: 'gpt-4.1-mini',
+ provider: 'azure-openai-responses',
+ name: 'GPT-4.1 mini',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.4, output: 1.6, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ },
+ {
+ id: 'gpt-4.1-nano',
+ provider: 'azure-openai-responses',
+ name: 'GPT-4.1 nano',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.4, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ },
+ {
+ id: 'gpt-4o',
+ provider: 'azure-openai-responses',
+ name: 'GPT-4o',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 1.25, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ },
+ {
+ id: 'gpt-4o-2024-05-13',
+ provider: 'azure-openai-responses',
+ name: 'GPT-4o (2024-05-13)',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 5, output: 15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ borrowedFrom: 'openai/gpt-4o-2024-05-13',
+ },
+ {
+ id: 'gpt-4o-2024-08-06',
+ provider: 'azure-openai-responses',
+ name: 'GPT-4o (2024-08-06)',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 1.25, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ borrowedFrom: 'openai/gpt-4o-2024-08-06',
+ },
+ {
+ id: 'gpt-4o-2024-11-20',
+ provider: 'azure-openai-responses',
+ name: 'GPT-4o (2024-11-20)',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 1.25, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ borrowedFrom: 'openai/gpt-4o-2024-11-20',
+ },
+ {
+ id: 'gpt-4o-mini',
+ provider: 'azure-openai-responses',
+ name: 'GPT-4o mini',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ },
+ {
+ id: 'gpt-5',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.13, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5-chat-latest',
+ provider: 'azure-openai-responses',
+ name: 'gpt-5-chat-latest',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 1.125, output: 9, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ borrowedFrom: 'jiekou/gpt-5-chat-latest',
+ },
+ {
+ id: 'gpt-5-codex',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5-Codex',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.13, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5-mini',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5 Mini',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 2, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5-nano',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5 Nano',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.05, output: 0.4, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5-pro',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5 Pro',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: { levels: { high: 'high' }, budget: false },
+ cost: { input: 15, output: 120, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.1',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.1',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'audio'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.1-codex',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.1 Codex',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'audio'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.1-codex-max',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.1 Codex Max',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.1-codex-mini',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.1 Codex Mini',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 2, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.2',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.2',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.2-chat-latest',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.2 Chat',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: { levels: { medium: 'medium' }, budget: false },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: { supportsTemperature: false },
+ borrowedFrom: 'openai/gpt-5.2-chat-latest',
+ },
+ {
+ id: 'gpt-5.2-codex',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.2 Codex',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.2-pro',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.2 Pro',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 21, output: 168, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ borrowedFrom: 'openai/gpt-5.2-pro',
+ },
+ {
+ id: 'gpt-5.3-chat-latest',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.3 Chat (latest)',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ borrowedFrom: 'openai/gpt-5.3-chat-latest',
+ },
+ {
+ id: 'gpt-5.3-codex',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.3 Codex',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.3-codex-spark',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.3 Codex Spark',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32000,
+ compat: { supportsTemperature: false },
+ borrowedFrom: 'openai/gpt-5.3-codex-spark',
+ },
+ {
+ id: 'gpt-5.4',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.4',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2.5,
+ output: 15,
+ cacheRead: 0.25,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 5,
+ output: 22.5,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'gpt-5.4-mini',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.4 Mini',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 4.5, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'gpt-5.4-nano',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.4 Nano',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 1.25, cacheRead: 0.02, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'gpt-5.4-pro',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.4 Pro',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 30,
+ output: 180,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 60,
+ output: 270,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.5',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.5',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 5,
+ output: 30,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 10,
+ output: 45,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.5-pro',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.5 Pro',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 30,
+ output: 180,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 60,
+ output: 270,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ borrowedFrom: 'openai/gpt-5.5-pro',
+ },
+ {
+ id: 'gpt-5.6-luna',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.6 Luna',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.2,
+ output: 1.2,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.4,
+ output: 1.8,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.6-sol',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.6 Sol',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 4,
+ output: 20,
+ cacheRead: 0.5,
+ cacheWrite: 6.25,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 10,
+ output: 45,
+ cacheRead: 1,
+ cacheWrite: 12.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.6-terra',
+ provider: 'azure-openai-responses',
+ name: 'GPT-5.6 Terra',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-6-astra',
+ provider: 'azure-openai-responses',
+ name: 'GPT-6 Astra',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 10,
+ output: 50,
+ cacheRead: 1,
+ cacheWrite: 12.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 20,
+ output: 75,
+ cacheRead: 2,
+ cacheWrite: 25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-6-luna',
+ provider: 'azure-openai-responses',
+ name: 'GPT-6 Luna',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.1,
+ output: 0.5,
+ cacheRead: 0.01,
+ cacheWrite: 0.125,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.2,
+ output: 0.75,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-6-sol',
+ provider: 'azure-openai-responses',
+ name: 'GPT-6 Sol',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-6.1-sol',
+ provider: 'azure-openai-responses',
+ name: 'GPT-6.1 Sol',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.1,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.2,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-chat-latest',
+ provider: 'azure-openai-responses',
+ name: 'GPT Chat Latest',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 5, output: 30, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-image-1.5',
+ provider: 'azure-openai-responses',
+ name: 'GPT-Image-1.5',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 5, output: 32, cacheRead: 1.25, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'gpt-realtime-2.1',
+ provider: 'azure-openai-responses',
+ name: 'GPT-Realtime-2.1',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'audio'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 4, output: 24, cacheRead: 0.4, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32000,
+ compat: { supportsTemperature: false },
+ borrowedFrom: 'openai/gpt-realtime-2.1',
+ },
+ {
+ id: 'grok-4-1-fast-non-reasoning',
+ provider: 'azure-openai-responses',
+ name: 'Grok 4.1 Fast (Non-Reasoning)',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.2, output: 0.5, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'grok-4-1-fast-reasoning',
+ provider: 'azure-openai-responses',
+ name: 'Grok 4.1 Fast (Reasoning)',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 0.5, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'grok-4-20-non-reasoning',
+ provider: 'azure-openai-responses',
+ name: 'Grok 4.20 (Non-Reasoning)',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 2, output: 6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'grok-4-20-reasoning',
+ provider: 'azure-openai-responses',
+ name: 'Grok 4.20 (Reasoning)',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'grok-4.6',
+ provider: 'azure-openai-responses',
+ name: 'Grok 4.6',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'llama-3.3-70b-instruct',
+ provider: 'azure-openai-responses',
+ name: 'Llama-3.3-70B-Instruct',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.71, output: 0.71, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32768,
+ },
+ {
+ id: 'llama-4-maverick-17b-128e-instruct-fp8',
+ provider: 'azure-openai-responses',
+ name: 'Llama 4 Maverick 17B 128E Instruct FP8',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.25, output: 1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 16384,
+ },
+ {
+ id: 'llama-4-scout-17b-16e-instruct',
+ provider: 'azure-openai-responses',
+ name: 'Llama 4 Scout 17B 16E Instruct',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.2, output: 0.78, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'ministral-3b',
+ provider: 'azure-openai-responses',
+ name: 'Ministral 3B',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.04, output: 0.04, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'mistral-medium-2505',
+ provider: 'azure-openai-responses',
+ name: 'Mistral Medium 3',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.4, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'mistral-small-2503',
+ provider: 'azure-openai-responses',
+ name: 'Mistral Small 3.1',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32768,
+ },
+ {
+ id: 'model-router',
+ provider: 'azure-openai-responses',
+ name: 'Model Router',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.14, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 16384,
+ },
+ {
+ id: 'o1',
+ provider: 'azure-openai-responses',
+ name: 'o1',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 15, output: 60, cacheRead: 7.5, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'o1-pro',
+ provider: 'azure-openai-responses',
+ name: 'o1-pro',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 150, output: 600, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { supportsTemperature: false },
+ borrowedFrom: 'openai/o1-pro',
+ },
+ {
+ id: 'o3',
+ provider: 'azure-openai-responses',
+ name: 'o3',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'o3-mini',
+ provider: 'azure-openai-responses',
+ name: 'o3-mini',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.1, output: 4.4, cacheRead: 0.55, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'o3-pro',
+ provider: 'azure-openai-responses',
+ name: 'o3-pro',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 20, output: 80, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { supportsTemperature: false },
+ borrowedFrom: 'openai/o3-pro',
+ },
+ {
+ id: 'o4-mini',
+ provider: 'azure-openai-responses',
+ name: 'o4-mini',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.1, output: 4.4, cacheRead: 0.275, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'phi-4',
+ provider: 'azure-openai-responses',
+ name: 'Phi-4',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.125, output: 0.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'phi-4-mini',
+ provider: 'azure-openai-responses',
+ name: 'Phi-4-mini',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.075, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'phi-4-mini-reasoning',
+ provider: 'azure-openai-responses',
+ name: 'Phi-4-mini-reasoning',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.075, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'phi-4-multimodal',
+ provider: 'azure-openai-responses',
+ name: 'Phi-4-multimodal',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text', 'image', 'audio'],
+ reasoning: false,
+ cost: { input: 0.08, output: 0.32, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'phi-4-reasoning',
+ provider: 'azure-openai-responses',
+ name: 'Phi-4-reasoning',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.125, output: 0.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'phi-4-reasoning-plus',
+ provider: 'azure-openai-responses',
+ name: 'Phi-4-reasoning-plus',
+ api: 'azure-openai-responses',
+ baseUrl: '',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.125, output: 0.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32000,
+ maxTokens: 4096,
+ },
+]
diff --git a/packages/ai-models/src/providers/baseten.ts b/packages/ai-models/src/providers/baseten.ts
new file mode 100644
index 0000000000..c10368489a
--- /dev/null
+++ b/packages/ai-models/src/providers/baseten.ts
@@ -0,0 +1,666 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Baseten. */
+export const provider: ProviderRecord = {
+ id: 'baseten',
+ name: 'Baseten',
+ baseUrl: 'https://inference.baseten.co/v1',
+ apis: ['openai-completions'],
+ env: [['BASETEN_API_KEY']],
+}
+
+/** Every Baseten model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'deepseek-ai/DeepSeek-V3.1',
+ provider: 'baseten',
+ name: 'DeepSeek V3.1',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 164000,
+ maxTokens: 131000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4-Flash-0731',
+ provider: 'baseten',
+ name: 'DeepSeek V4 Flash 0731',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.13, output: 0.26, cacheRead: 0.028, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4-Pro',
+ provider: 'baseten',
+ name: 'DeepSeek V4 Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1.74, output: 3.48, cacheRead: 0.145, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4-Pro-0813',
+ provider: 'baseten',
+ name: 'DeepSeek V4 Pro 0813',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.32, output: 3.96, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4.1-Flash',
+ provider: 'baseten',
+ name: 'DeepSeek V4.1 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4.1-Flash-Fast',
+ provider: 'baseten',
+ name: 'deepseek-ai/DeepSeek-V4.1-Flash-Fast',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 2.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'MiniMaxAI/MiniMax-M2.5',
+ provider: 'baseten',
+ name: 'MiniMax-M2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204000,
+ maxTokens: 204000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'moonshotai/Kimi-K2.5',
+ provider: 'baseten',
+ name: 'Kimi K2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 3, cacheRead: 0.12, cacheWrite: 0 },
+ contextWindow: 262000,
+ maxTokens: 262000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'moonshotai/Kimi-K2.6',
+ provider: 'baseten',
+ name: 'Kimi K2.6',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 262000,
+ maxTokens: 262000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'moonshotai/Kimi-K2.7-Code',
+ provider: 'baseten',
+ name: 'Kimi K2.7 Code',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 262000,
+ maxTokens: 262000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'moonshotai/Kimi-K3',
+ provider: 'baseten',
+ name: 'Kimi K3',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'nvidia/Nemotron-120B-A12B',
+ provider: 'baseten',
+ name: 'Nemotron Super',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.3, output: 0.75, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 202800,
+ maxTokens: 202800,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B',
+ provider: 'baseten',
+ name: 'Nemotron Ultra',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.4, cacheRead: 0.12, cacheWrite: 0 },
+ contextWindow: 202800,
+ maxTokens: 202800,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'openai/gpt-oss-120b',
+ provider: 'baseten',
+ name: 'OpenAI GPT 120B',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128072,
+ maxTokens: 128072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'thinkingmachines/inkling',
+ provider: 'baseten',
+ name: 'Inkling',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 4.05, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'thinkingmachines/inkling-small',
+ provider: 'baseten',
+ name: 'Inkling Small',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 1.2, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'zai-org/GLM-4.7',
+ provider: 'baseten',
+ name: 'GLM 4.7',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0.12, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 200000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'zai-org/GLM-5',
+ provider: 'baseten',
+ name: 'GLM 5',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.95, output: 3.15, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 202800,
+ maxTokens: 202800,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'zai-org/GLM-5.1',
+ provider: 'baseten',
+ name: 'GLM 5.1',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.3, output: 4.3, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 202800,
+ maxTokens: 202800,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'zai-org/GLM-5.2',
+ provider: 'baseten',
+ name: 'GLM 5.2',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'zai-org/GLM-5.2-Fast',
+ provider: 'baseten',
+ name: 'GLM 5.2 Fast',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 2.1, output: 6.6, cacheRead: 0.21, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'zai-org/GLM-5.3',
+ provider: 'baseten',
+ name: 'GLM 5.3',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.14, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'zai-org/GLM-5.3-Fast',
+ provider: 'baseten',
+ name: 'GLM 5.3 Fast',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 2.1, output: 6.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'zai-org/GLM-5.3-Flash',
+ provider: 'baseten',
+ name: 'GLM 5.3 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://inference.baseten.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsUsageInStreaming: true,
+ maxTokensField: 'max_tokens',
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/cerebras.ts b/packages/ai-models/src/providers/cerebras.ts
new file mode 100644
index 0000000000..b8780733a8
--- /dev/null
+++ b/packages/ai-models/src/providers/cerebras.ts
@@ -0,0 +1,47 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Cerebras. */
+export const provider: ProviderRecord = {
+ id: 'cerebras',
+ name: 'Cerebras',
+ baseUrl: 'https://api.cerebras.ai/v1',
+ apis: ['openai-completions'],
+ env: [['CEREBRAS_API_KEY']],
+}
+
+/** Every Cerebras model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'gpt-oss-120b',
+ provider: 'cerebras',
+ name: 'GPT OSS 120B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.cerebras.ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.35, output: 0.75, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 40960,
+ compat: { supportsStore: false, supportsDeveloperRole: false },
+ },
+ {
+ id: 'qwen-3.8-27b',
+ provider: 'cerebras',
+ name: 'Qwen3.8 27B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.cerebras.ai/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.99, output: 1.49, cacheRead: 0.99, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 40960,
+ compat: { supportsStore: false, supportsDeveloperRole: false },
+ },
+]
diff --git a/packages/ai-models/src/providers/cloudflare-ai-gateway.ts b/packages/ai-models/src/providers/cloudflare-ai-gateway.ts
new file mode 100644
index 0000000000..9ed3483330
--- /dev/null
+++ b/packages/ai-models/src/providers/cloudflare-ai-gateway.ts
@@ -0,0 +1,1694 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Cloudflare AI Gateway. */
+export const provider: ProviderRecord = {
+ id: 'cloudflare-ai-gateway',
+ name: 'Cloudflare AI Gateway',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ apis: ['anthropic-messages', 'openai-completions', 'openai-responses'],
+ env: [['CLOUDFLARE_API_KEY']],
+}
+
+/** Every Cloudflare AI Gateway model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'alibaba/qwen3-max',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Qwen3 Max',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 1.2, output: 6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ },
+ {
+ id: 'alibaba/qwen3.5-397b-a17b',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Qwen3.5 397B-A17B',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.6, output: 3.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ },
+ {
+ id: 'alibaba/qwen3.7-max',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Qwen3.7 Max',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 1.25, output: 3.75, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ },
+ {
+ id: 'alibaba/qwen3.7-plus',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Qwen3.7 Plus',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.32, output: 1.28, cacheRead: 0.064, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ },
+ {
+ id: 'alibaba/qwen3.8-max',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Qwen3.8 Max',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'claude-fable-5',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Claude Fable 5',
+ api: 'anthropic-messages',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'claude-fable-5.1',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Claude Fable 5.1',
+ api: 'anthropic-messages',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'claude-haiku-4.5',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Claude Haiku 4.5 (latest)',
+ api: 'anthropic-messages',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: { sendSessionAffinityHeaders: true },
+ },
+ {
+ id: 'claude-opus-4.5',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Claude Opus 4.5 (latest)',
+ api: 'anthropic-messages',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: { sendSessionAffinityHeaders: true },
+ },
+ {
+ id: 'claude-opus-4.6',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Claude Opus 4.6',
+ api: 'anthropic-messages',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', max: 'max' },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { sendSessionAffinityHeaders: true, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'claude-opus-4.7',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Claude Opus 4.7',
+ api: 'anthropic-messages',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'claude-opus-4.8',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Claude Opus 4.8',
+ api: 'anthropic-messages',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'claude-opus-5',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Claude Opus 5',
+ api: 'anthropic-messages',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'claude-opus-5.5',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Claude Opus 5.5',
+ api: 'anthropic-messages',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'claude-sonnet-4.5',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Claude Sonnet 4.5 (latest)',
+ api: 'anthropic-messages',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: { sendSessionAffinityHeaders: true },
+ },
+ {
+ id: 'claude-sonnet-4.6',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Claude Sonnet 4.6',
+ api: 'anthropic-messages',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', max: 'max' },
+ budget: true,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { sendSessionAffinityHeaders: true, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'claude-sonnet-5',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Claude Sonnet 5',
+ api: 'anthropic-messages',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-v4-pro',
+ provider: 'cloudflare-ai-gateway',
+ name: 'DeepSeek V4 Pro',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.74, output: 3.48, cacheRead: 0.145, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 384000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'gpt-4.1',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-4.1',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: { sendSessionAffinityHeaders: false, supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4.1-mini',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-4.1 mini',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.4, output: 1.6, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: { sendSessionAffinityHeaders: false, supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4.1-nano',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-4.1 nano',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.4, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 32768,
+ compat: { sendSessionAffinityHeaders: false, supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4o',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-4o',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 1.25, output: 5, cacheRead: 0.625, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: { sendSessionAffinityHeaders: false, supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4o-mini',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-4o mini',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.075, output: 0.3, cacheRead: 0.0375, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: { sendSessionAffinityHeaders: false, supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-5',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-5',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5-mini',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-5 Mini',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 2, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5-nano',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-5 Nano',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.05, output: 0.4, cacheRead: 0.005, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.1',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-5.1',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: { sendSessionAffinityHeaders: false, supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-5.4',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-5.4',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 15, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { sendSessionAffinityHeaders: false, supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-5.4-mini',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-5.4 mini',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 4.5, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: { sendSessionAffinityHeaders: false, supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-5.4-nano',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-5.4 nano',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 1.25, cacheRead: 0.02, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: { sendSessionAffinityHeaders: false, supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-5.4-pro',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-5.4 Pro',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 30, output: 180, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.5',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-5.5',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 30, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.5-pro',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-5.5 Pro',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 30, output: 180, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.6-luna',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-5.6 Luna',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 1.2, cacheRead: 0.02, cacheWrite: 0.25 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.6-sol',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-5.6 Sol',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.25, cacheWrite: 3.125 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.6-terra',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-5.6 Terra',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 12, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-6-astra',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-6 Astra',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 10,
+ output: 50,
+ cacheRead: 1,
+ cacheWrite: 12,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 20,
+ output: 75,
+ cacheRead: 2,
+ cacheWrite: 25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-6-luna',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-6 Luna',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.1,
+ output: 0.5,
+ cacheRead: 0.01,
+ cacheWrite: 0.125,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.2,
+ output: 0.75,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-6-sol',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT-6 Sol',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'moonshotai/kimi-k3',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Kimi K3',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'o3',
+ provider: 'cloudflare-ai-gateway',
+ name: 'o3',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'o3-mini',
+ provider: 'cloudflare-ai-gateway',
+ name: 'o3-mini',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.1, output: 4.4, cacheRead: 0.55, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'o4-mini',
+ provider: 'cloudflare-ai-gateway',
+ name: 'o4-mini',
+ api: 'openai-responses',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.1, output: 4.4, cacheRead: 0.275, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ sendSessionAffinityHeaders: false,
+ supportsStrictMode: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'unbiased/pareto',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Pareto',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2.5, output: 7.5, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ },
+ {
+ id: 'workers-ai/@cf/deepseek-ai/deepseek-v4-flash-0731',
+ provider: 'cloudflare-ai-gateway',
+ name: 'DeepSeek V4 Flash 0731',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.44, output: 1.32, cacheRead: 0.014, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ borrowedFrom:
+ 'cloudflare-workers-ai/@cf/deepseek-ai/deepseek-v4-flash-0731',
+ },
+ {
+ id: 'workers-ai/@cf/deepseek-ai/deepseek-v4-pro-0813',
+ provider: 'cloudflare-ai-gateway',
+ name: 'DeepSeek V4 Pro 0813',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.32, output: 3.96, cacheRead: 0.044, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/deepseek-ai/deepseek-v4-pro-0813',
+ },
+ {
+ id: 'workers-ai/@cf/google/gemma-4-26b-a4b-it',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Gemma 4 26B A4B IT',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.1, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 16384,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/google/gemma-4-26b-a4b-it',
+ },
+ {
+ id: 'workers-ai/@cf/ibm-granite/granite-4.0-h-micro',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Granite 4.0 H Micro',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.017, output: 0.112, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131000,
+ maxTokens: 131000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/ibm-granite/granite-4.0-h-micro',
+ },
+ {
+ id: 'workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Llama 3.3 70B Instruct fp8 Fast',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.293, output: 2.253, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 24000,
+ maxTokens: 24000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom:
+ 'cloudflare-workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast',
+ },
+ {
+ id: 'workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Llama 4 Scout 17B 16E Instruct',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.27, output: 0.85, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131000,
+ maxTokens: 16384,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom:
+ 'cloudflare-workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct',
+ },
+ {
+ id: 'workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Mistral Small 3.1 24B Instruct',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.351, output: 0.555, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom:
+ 'cloudflare-workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct',
+ },
+ {
+ id: 'workers-ai/@cf/moonshotai/kimi-k2.6',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Kimi K2.6',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 256000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/moonshotai/kimi-k2.6',
+ },
+ {
+ id: 'workers-ai/@cf/moonshotai/kimi-k2.7-code',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Kimi K2.7 Code',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.19, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/moonshotai/kimi-k2.7-code',
+ },
+ {
+ id: 'workers-ai/@cf/nvidia/nemotron-3-120b-a12b',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Nemotron 3 Super 120B',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/nvidia/nemotron-3-120b-a12b',
+ },
+ {
+ id: 'workers-ai/@cf/openai/gpt-oss-120b',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT OSS 120B',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.35, output: 0.75, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/openai/gpt-oss-120b',
+ },
+ {
+ id: 'workers-ai/@cf/openai/gpt-oss-20b',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GPT OSS 20B',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/openai/gpt-oss-20b',
+ },
+ {
+ id: 'workers-ai/@cf/qwen/qwen3-30b-a3b-fp8',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Qwen3 30B A3b fp8',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.0509, output: 0.335, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 32768,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/qwen/qwen3-30b-a3b-fp8',
+ },
+ {
+ id: 'workers-ai/@cf/qwen/qwen3.8-27b',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Qwen3.8 27B',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0.45, output: 3.2, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/qwen/qwen3.8-27b',
+ },
+ {
+ id: 'workers-ai/@cf/zai-org/glm-4.7-flash',
+ provider: 'cloudflare-ai-gateway',
+ name: 'GLM-4.7-Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.0605, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/zai-org/glm-4.7-flash',
+ },
+ {
+ id: 'workers-ai/@cf/zai-org/glm-5.2',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Glm 5.2',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 256000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/zai-org/glm-5.2',
+ },
+ {
+ id: 'workers-ai/@cf/zai-org/glm-5.3',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Glm 5.3',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/zai-org/glm-5.3',
+ },
+ {
+ id: 'workers-ai/@cf/zai-org/glm-5.3-flash',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Glm 5.3 Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ borrowedFrom: 'cloudflare-workers-ai/@cf/zai-org/glm-5.3-flash',
+ },
+ {
+ id: 'xai/grok-4.20-0309-non-reasoning',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Grok 4.20 (Non-Reasoning)',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 2, output: 6, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 2000000,
+ maxTokens: 30000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ },
+ {
+ id: 'xai/grok-4.20-0309-reasoning',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Grok 4.20 (Reasoning)',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 2000000,
+ maxTokens: 30000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ },
+ {
+ id: 'xai/grok-4.3',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Grok 4.3',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 2.5, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 30000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ },
+ {
+ id: 'xai/grok-4.5',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Grok 4.5',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.3,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 0.6,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ },
+ {
+ id: 'xai/grok-4.6',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Grok 4.6',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ },
+ {
+ id: 'xai/grok-4.7',
+ provider: 'cloudflare-ai-gateway',
+ name: 'Grok 4.7',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/cloudflare-workers-ai.ts b/packages/ai-models/src/providers/cloudflare-workers-ai.ts
new file mode 100644
index 0000000000..233b64196d
--- /dev/null
+++ b/packages/ai-models/src/providers/cloudflare-workers-ai.ts
@@ -0,0 +1,627 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Cloudflare Workers AI. */
+export const provider: ProviderRecord = {
+ id: 'cloudflare-workers-ai',
+ name: 'Cloudflare Workers AI',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ apis: ['openai-completions'],
+ env: [['CLOUDFLARE_API_KEY']],
+}
+
+/** Every Cloudflare Workers AI model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: '@cf/aisingapore/gemma-sea-lion-v4-27b-it',
+ provider: 'cloudflare-workers-ai',
+ name: 'Gemma Sea Lion V4 27B It',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.351, output: 0.555, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/deepseek-ai/deepseek-r1-distill-qwen-32b',
+ provider: 'cloudflare-workers-ai',
+ name: 'Deepseek R1 Distill Qwen 32B',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.497, output: 4.881, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 80000,
+ maxTokens: 80000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: '@cf/deepseek-ai/deepseek-v4-flash-0731',
+ provider: 'cloudflare-workers-ai',
+ name: 'DeepSeek V4 Flash 0731',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.44, output: 1.32, cacheRead: 0.014, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: '@cf/deepseek-ai/deepseek-v4-pro-0813',
+ provider: 'cloudflare-workers-ai',
+ name: 'DeepSeek V4 Pro 0813',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.32, output: 3.96, cacheRead: 0.044, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: '@cf/google/gemma-4-26b-a4b-it',
+ provider: 'cloudflare-workers-ai',
+ name: 'Gemma 4 26B A4B IT',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.1, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 16384,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/ibm-granite/granite-4.0-h-micro',
+ provider: 'cloudflare-workers-ai',
+ name: 'Granite 4.0 H Micro',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.017, output: 0.112, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131000,
+ maxTokens: 131000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/meta/llama-3.1-8b-instruct-fp8',
+ provider: 'cloudflare-workers-ai',
+ name: 'Llama 3.1 8B Instruct fp8',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.152, output: 0.287, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32000,
+ maxTokens: 32000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/meta/llama-3.2-11b-vision-instruct',
+ provider: 'cloudflare-workers-ai',
+ name: 'Llama 3.2 11B Vision Instruct',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.0485, output: 0.676, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/meta/llama-3.2-1b-instruct',
+ provider: 'cloudflare-workers-ai',
+ name: 'Llama 3.2 1B Instruct',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.027, output: 0.201, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 60000,
+ maxTokens: 60000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/meta/llama-3.2-3b-instruct',
+ provider: 'cloudflare-workers-ai',
+ name: 'Llama 3.2 3B Instruct',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.0509, output: 0.335, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 80000,
+ maxTokens: 80000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/meta/llama-3.3-70b-instruct-fp8-fast',
+ provider: 'cloudflare-workers-ai',
+ name: 'Llama 3.3 70B Instruct fp8 Fast',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.293, output: 2.253, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 24000,
+ maxTokens: 24000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/meta/llama-4-scout-17b-16e-instruct',
+ provider: 'cloudflare-workers-ai',
+ name: 'Llama 4 Scout 17B 16E Instruct',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.27, output: 0.85, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131000,
+ maxTokens: 16384,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/meta/llama-guard-3-8b',
+ provider: 'cloudflare-workers-ai',
+ name: 'Llama Guard 3 8B',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.484, output: 0.03, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/mistralai/mistral-small-3.1-24b-instruct',
+ provider: 'cloudflare-workers-ai',
+ name: 'Mistral Small 3.1 24B Instruct',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.351, output: 0.555, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/moonshotai/kimi-k2.6',
+ provider: 'cloudflare-workers-ai',
+ name: 'Kimi K2.6',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 256000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: '@cf/moonshotai/kimi-k2.7-code',
+ provider: 'cloudflare-workers-ai',
+ name: 'Kimi K2.7 Code',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.19, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/nvidia/nemotron-3-120b-a12b',
+ provider: 'cloudflare-workers-ai',
+ name: 'Nemotron 3 Super 120B',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/openai/gpt-oss-120b',
+ provider: 'cloudflare-workers-ai',
+ name: 'GPT OSS 120B',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.35, output: 0.75, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/openai/gpt-oss-20b',
+ provider: 'cloudflare-workers-ai',
+ name: 'GPT OSS 20B',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/qwen/qwen2.5-coder-32b-instruct',
+ provider: 'cloudflare-workers-ai',
+ name: 'Qwen2.5 Coder 32B Instruct',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.66, output: 1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/qwen/qwen3-30b-a3b-fp8',
+ provider: 'cloudflare-workers-ai',
+ name: 'Qwen3 30B A3b fp8',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.0509, output: 0.335, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/qwen/qwen3.8-27b',
+ provider: 'cloudflare-workers-ai',
+ name: 'Qwen3.8 27B',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0.45, output: 3.2, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/qwen/qwq-32b',
+ provider: 'cloudflare-workers-ai',
+ name: 'Qwq 32B',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.66, output: 1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 24000,
+ maxTokens: 24000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/zai-org/glm-4.7-flash',
+ provider: 'cloudflare-workers-ai',
+ name: 'GLM-4.7-Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.0605, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: '@cf/zai-org/glm-5.2',
+ provider: 'cloudflare-workers-ai',
+ name: 'Glm 5.2',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 256000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/zai-org/glm-5.3',
+ provider: 'cloudflare-workers-ai',
+ name: 'Glm 5.3',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+ {
+ id: '@cf/zai-org/glm-5.3-flash',
+ provider: 'cloudflare-workers-ai',
+ name: 'Glm 5.3 Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ supportsLongCacheRetention: false,
+ sendSessionAffinityHeaders: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/deepseek.ts b/packages/ai-models/src/providers/deepseek.ts
new file mode 100644
index 0000000000..299ceab4ee
--- /dev/null
+++ b/packages/ai-models/src/providers/deepseek.ts
@@ -0,0 +1,107 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** DeepSeek. */
+export const provider: ProviderRecord = {
+ id: 'deepseek',
+ name: 'DeepSeek',
+ baseUrl: 'https://api.deepseek.com',
+ apis: ['openai-completions'],
+ env: [['DEEPSEEK_API_KEY']],
+}
+
+/** Every DeepSeek model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'deepseek-flash',
+ provider: 'deepseek',
+ name: 'DeepSeek V4.1 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://api.deepseek.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.003, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 393216,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ supportsStrictMode: true,
+ },
+ },
+ {
+ id: 'deepseek-v4-flash',
+ provider: 'deepseek',
+ name: 'DeepSeek V4 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://api.deepseek.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.003, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 393216,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ supportsStrictMode: true,
+ },
+ },
+ {
+ id: 'deepseek-v4-flash-vision-exp',
+ provider: 'deepseek',
+ name: 'DeepSeek V4 Flash Vision Exp',
+ api: 'openai-completions',
+ baseUrl: 'https://api.deepseek.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.003, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 393216,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ supportsStrictMode: true,
+ },
+ },
+ {
+ id: 'deepseek-v4-pro',
+ provider: 'deepseek',
+ name: 'DeepSeek V4 Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://api.deepseek.com',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.003625, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 393216,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ supportsStrictMode: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/fireworks.ts b/packages/ai-models/src/providers/fireworks.ts
new file mode 100644
index 0000000000..59ca334091
--- /dev/null
+++ b/packages/ai-models/src/providers/fireworks.ts
@@ -0,0 +1,855 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Fireworks AI. */
+export const provider: ProviderRecord = {
+ id: 'fireworks',
+ name: 'Fireworks AI',
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
+ apis: ['anthropic-messages', 'openai-completions'],
+ env: [['FIREWORKS_API_KEY']],
+}
+
+/** Every Fireworks AI model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'accounts/fireworks/models/deepseek-v4-flash-0731',
+ provider: 'fireworks',
+ name: 'DeepSeek V4 Flash 0731',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.06, output: 0.18, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ borrowedFrom: 'deepinfra/deepseek-ai/DeepSeek-V4-Flash-0731',
+ },
+ {
+ id: 'accounts/fireworks/models/deepseek-v4-flash-vision-exp',
+ provider: 'fireworks',
+ name: 'DeepSeek V4 Flash Vision Exp',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.003, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 393216,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ borrowedFrom: 'deepseek/deepseek-v4-flash-vision-exp',
+ },
+ {
+ id: 'accounts/fireworks/models/deepseek-v4-pro',
+ provider: 'fireworks',
+ name: 'DeepSeek V4 Pro',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.003625, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 393216,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ borrowedFrom: 'deepseek/deepseek-v4-pro',
+ },
+ {
+ id: 'accounts/fireworks/models/deepseek-v4-pro-0813',
+ provider: 'fireworks',
+ name: 'DeepSeek V4 Pro 0813',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.3, output: 2.6, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ borrowedFrom: 'deepinfra/deepseek-ai/DeepSeek-V4-Pro-0813',
+ },
+ {
+ id: 'accounts/fireworks/models/deepseek-v4p1-flash',
+ provider: 'fireworks',
+ name: 'DeepSeek V4.1 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.22, output: 0.66, cacheRead: 0.007, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/models/ember-1',
+ provider: 'fireworks',
+ name: 'Ember-1',
+ api: 'openai-completions',
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/models/glm-5p2',
+ provider: 'fireworks',
+ name: 'GLM-5.2',
+ api: 'openai-completions',
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
+ input: ['text'],
+ reasoning: { levels: { high: 'high', max: 'max' }, budget: false },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ borrowedFrom: 'zai/glm-5.2',
+ },
+ {
+ id: 'accounts/fireworks/models/glm-5p3',
+ provider: 'fireworks',
+ name: 'GLM 5.3',
+ api: 'openai-completions',
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1048573,
+ maxTokens: 262144,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/models/glm-5p3-flash',
+ provider: 'fireworks',
+ name: 'GLM 5.3 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048573,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/models/gpt-oss-120b',
+ provider: 'fireworks',
+ name: 'GPT OSS 120B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/models/inkling',
+ provider: 'fireworks',
+ name: 'Inkling',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text', 'image', 'audio'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 4.05, cacheRead: 0.17, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ },
+ },
+ {
+ id: 'accounts/fireworks/models/kimi-k2p6',
+ provider: 'fireworks',
+ name: 'Kimi K2.6',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ },
+ borrowedFrom: 'moonshotai/kimi-k2.6',
+ },
+ {
+ id: 'accounts/fireworks/models/kimi-k2p7-code',
+ provider: 'fireworks',
+ name: 'Kimi K2.7 Code',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.19, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ supportsTemperature: false,
+ },
+ borrowedFrom: 'moonshotai/kimi-k2.7-code',
+ },
+ {
+ id: 'accounts/fireworks/models/kimi-k3',
+ provider: 'fireworks',
+ name: 'Kimi K3',
+ api: 'openai-completions',
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'accounts/fireworks/models/minimax-m2p7',
+ provider: 'fireworks',
+ name: 'MiniMax-M2.7',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ borrowedFrom: 'minimax/MiniMax-M2.7',
+ },
+ {
+ id: 'accounts/fireworks/models/minimax-m3',
+ provider: 'fireworks',
+ name: 'MiniMax-M3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 512000,
+ maxTokens: 512000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/models/muse-glimmer-30b',
+ provider: 'fireworks',
+ name: 'Muse Glimmer 30B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 0.8, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ borrowedFrom: 'empiriolabs/muse-glimmer-30b',
+ },
+ {
+ id: 'accounts/fireworks/models/nemotron-3-ultra-nvfp4',
+ provider: 'fireworks',
+ name: 'Nemotron 3 Ultra 550B A55B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.4, cacheRead: 0.12, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 128000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ },
+ },
+ {
+ id: 'accounts/fireworks/models/nemotron-lightning-3p5-30b-a3b',
+ provider: 'fireworks',
+ name: 'Nemotron 3.5 Lightning 30B A3B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.05, output: 0.2, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ },
+ },
+ {
+ id: 'accounts/fireworks/models/qwen3p7-plus',
+ provider: 'fireworks',
+ name: 'Qwen3.7 Plus',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: {
+ input: 0.4,
+ output: 1.6,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 1.2,
+ output: 4.8,
+ cacheRead: 0.12,
+ cacheWrite: 1.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ borrowedFrom: 'alibaba/qwen3.7-plus',
+ },
+ {
+ id: 'accounts/fireworks/models/qwen3p8-2p4t-a95b',
+ provider: 'fireworks',
+ name: 'Qwen3.8 2.4T A95B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/models/qwen3p8-max',
+ provider: 'fireworks',
+ name: 'Qwen3.8 Max',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/routers/deepseek-flash-latest',
+ provider: 'fireworks',
+ name: 'DeepSeek Flash Latest',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.22, output: 0.66, cacheRead: 0.007, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/routers/deepseek-pro-latest',
+ provider: 'fireworks',
+ name: 'DeepSeek: DeepSeek Pro Latest',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.123, output: 3.5, cacheRead: 0.123, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 393216,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ borrowedFrom: 'kilo/~deepseek/deepseek-pro-latest',
+ },
+ {
+ id: 'accounts/fireworks/routers/glm-5p2-fast',
+ provider: 'fireworks',
+ name: 'GLM 5.2 Fast',
+ api: 'openai-completions',
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 2.1, output: 6.6, cacheRead: 0.21, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 262144,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ borrowedFrom: 'baseten/zai-org/GLM-5.2-Fast',
+ },
+ {
+ id: 'accounts/fireworks/routers/glm-5p3-fast',
+ provider: 'fireworks',
+ name: 'GLM 5.3 Fast',
+ api: 'openai-completions',
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 2.1, output: 6.6, cacheRead: 0.39, cacheWrite: 0 },
+ contextWindow: 1048572,
+ maxTokens: 262144,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/routers/glm-fast-latest',
+ provider: 'fireworks',
+ name: 'GLM 5.3 Fast (Latest)',
+ api: 'openai-completions',
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 2.1, output: 6.6, cacheRead: 0.39, cacheWrite: 0 },
+ contextWindow: 1048572,
+ maxTokens: 262144,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/routers/glm-flash-latest',
+ provider: 'fireworks',
+ name: 'GLM Flash Latest (GLM 5.3 Flash)',
+ api: 'openai-completions',
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048573,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/routers/glm-latest',
+ provider: 'fireworks',
+ name: 'GLM Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1048573,
+ maxTokens: 262144,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/routers/kimi-fast-latest',
+ provider: 'fireworks',
+ name: 'Kimi Fast Latest',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 4.5, output: 22.5, cacheRead: 0.45, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'accounts/fireworks/routers/kimi-k3-fast',
+ provider: 'fireworks',
+ name: 'Kimi K3 Fast',
+ api: 'openai-completions',
+ baseUrl: 'https://api.fireworks.ai/inference/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 4.5, output: 22.5, cacheRead: 0.45, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'accounts/fireworks/routers/kimi-latest',
+ provider: 'fireworks',
+ name: 'Kimi Latest',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'accounts/fireworks/routers/minimax-latest',
+ provider: 'fireworks',
+ name: 'MiniMax Latest',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 512000,
+ maxTokens: 512000,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'accounts/fireworks/routers/qwen-max-latest',
+ provider: 'fireworks',
+ name: 'Qwen Max Latest (Qwen3.8 Max)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.fireworks.ai/inference',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: {
+ sendSessionAffinityHeaders: true,
+ supportsLongCacheRetention: false,
+ allowEmptySignature: true,
+ supportsEagerToolInputStreaming: false,
+ supportsCacheControlOnTools: false,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/google-vertex.ts b/packages/ai-models/src/providers/google-vertex.ts
new file mode 100644
index 0000000000..d96a0c766a
--- /dev/null
+++ b/packages/ai-models/src/providers/google-vertex.ts
@@ -0,0 +1,717 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Google Vertex AI. */
+export const provider: ProviderRecord = {
+ id: 'google-vertex',
+ name: 'Google Vertex AI',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ apis: ['google-vertex'],
+ env: [
+ ['GOOGLE_CLOUD_API_KEY'],
+ [
+ 'GOOGLE_APPLICATION_CREDENTIALS',
+ 'GOOGLE_CLOUD_PROJECT',
+ 'GOOGLE_CLOUD_LOCATION',
+ ],
+ [
+ 'GOOGLE_APPLICATION_CREDENTIALS',
+ 'GCLOUD_PROJECT',
+ 'GOOGLE_CLOUD_LOCATION',
+ ],
+ ],
+}
+
+/** Every Google Vertex AI model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'deepseek-ai/deepseek-v3.1-maas',
+ provider: 'google-vertex',
+ name: 'DeepSeek V3.1',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 1.7, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 32768,
+ },
+ {
+ id: 'deepseek-ai/deepseek-v3.2-maas',
+ provider: 'google-vertex',
+ name: 'DeepSeek V3.2',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.56, output: 1.68, cacheRead: 0.056, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-2.5-flash',
+ provider: 'google-vertex',
+ name: 'Gemini 2.5 Flash',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-2.5-flash-image',
+ provider: 'google-vertex',
+ name: 'Nano Banana',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.3, output: 30, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 32768,
+ },
+ {
+ id: 'gemini-2.5-flash-lite',
+ provider: 'google-vertex',
+ name: 'Gemini 2.5 Flash-Lite',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.1, output: 0.4, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65535,
+ },
+ {
+ id: 'gemini-2.5-pro',
+ provider: 'google-vertex',
+ name: 'Gemini 2.5 Pro',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 1.25,
+ output: 10,
+ cacheRead: 0.125,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 15,
+ cacheRead: 0.25,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3-flash-preview',
+ provider: 'google-vertex',
+ name: 'Gemini 3 Flash Preview',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 3, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3-pro-image',
+ provider: 'google-vertex',
+ name: 'Nano Banana Pro',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 120, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 32768,
+ },
+ {
+ id: 'gemini-3.1-flash-image',
+ provider: 'google-vertex',
+ name: 'Nano Banana 2',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: { levels: { minimal: 'minimal', high: 'high' }, budget: false },
+ cost: { input: 0.5, output: 60, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ },
+ {
+ id: 'gemini-3.1-flash-lite',
+ provider: 'google-vertex',
+ name: 'Gemini 3.1 Flash Lite',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 1.5, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.1-flash-lite-preview',
+ provider: 'google-vertex',
+ name: 'Gemini 3.1 Flash Lite Preview',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 1.5, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.1-pro-preview',
+ provider: 'google-vertex',
+ name: 'Gemini 3.1 Pro Preview',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.1-pro-preview-customtools',
+ provider: 'google-vertex',
+ name: 'Gemini 3.1 Pro Preview Custom Tools',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.5-flash',
+ provider: 'google-vertex',
+ name: 'Gemini 3.5 Flash',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 9, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.5-flash-lite',
+ provider: 'google-vertex',
+ name: 'Gemini 3.5 Flash Lite',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.6-flash',
+ provider: 'google-vertex',
+ name: 'Gemini 3.6 Flash',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.7-flash',
+ provider: 'google-vertex',
+ name: 'Gemini 3.7 Flash',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.8-flash',
+ provider: 'google-vertex',
+ name: 'Gemini 3.8 Flash',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-flash-latest',
+ provider: 'google-vertex',
+ name: 'Gemini Flash Latest',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 9, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-flash-lite-latest',
+ provider: 'google-vertex',
+ name: 'Gemini Flash-Lite Latest',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 1.5, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'meta/llama-3.3-70b-instruct-maas',
+ provider: 'google-vertex',
+ name: 'Llama 3.3 70B Instruct',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.72, output: 0.72, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'meta/llama-4-maverick-17b-128e-instruct-maas',
+ provider: 'google-vertex',
+ name: 'Llama 4 Maverick 17B 128E Instruct',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.35, output: 1.15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 524288,
+ maxTokens: 8192,
+ },
+ {
+ id: 'moonshotai/kimi-k2-thinking-maas',
+ provider: 'google-vertex',
+ name: 'Kimi K2 Thinking',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 2.5, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ },
+ {
+ id: 'openai/gpt-oss-120b-maas',
+ provider: 'google-vertex',
+ name: 'GPT OSS 120B',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.09, output: 0.36, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ },
+ {
+ id: 'openai/gpt-oss-20b-maas',
+ provider: 'google-vertex',
+ name: 'GPT OSS 20B',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.07, output: 0.25, cacheRead: 0.007, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ },
+ {
+ id: 'qwen/qwen3-235b-a22b-instruct-2507-maas',
+ provider: 'google-vertex',
+ name: 'Qwen3 235B A22B Instruct',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.22, output: 0.88, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 16384,
+ },
+ {
+ id: 'xai/grok-4.1-fast-non-reasoning',
+ provider: 'google-vertex',
+ name: 'Grok 4.1 Fast',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.2, output: 0.5, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 30000,
+ },
+ {
+ id: 'xai/grok-4.1-fast-reasoning',
+ provider: 'google-vertex',
+ name: 'Grok 4.1 Fast (Reasoning)',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 0.5, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 30000,
+ },
+ {
+ id: 'xai/grok-4.20-non-reasoning',
+ provider: 'google-vertex',
+ name: 'Grok 4.20 (Non-Reasoning)',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 2000000,
+ maxTokens: 30000,
+ },
+ {
+ id: 'xai/grok-4.20-reasoning',
+ provider: 'google-vertex',
+ name: 'Grok 4.20 (Reasoning)',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 2000000,
+ maxTokens: 30000,
+ },
+ {
+ id: 'xai/grok-4.3',
+ provider: 'google-vertex',
+ name: 'Grok 4.3',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 200000,
+ maxTokens: 30000,
+ },
+ {
+ id: 'xai/grok-4.6',
+ provider: 'google-vertex',
+ name: 'Grok 4.6',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 524288,
+ maxTokens: 500000,
+ },
+ {
+ id: 'zai-org/glm-4.7-maas',
+ provider: 'google-vertex',
+ name: 'GLM-4.7',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'zai-org/glm-5-maas',
+ provider: 'google-vertex',
+ name: 'GLM-5',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1, output: 3.2, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'zai-org/glm-5.2-maas',
+ provider: 'google-vertex',
+ name: 'GLM-5.2',
+ api: 'google-vertex',
+ baseUrl: 'https://{location}-aiplatform.googleapis.com',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.14, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ },
+]
diff --git a/packages/ai-models/src/providers/google.ts b/packages/ai-models/src/providers/google.ts
new file mode 100644
index 0000000000..f902cbe826
--- /dev/null
+++ b/packages/ai-models/src/providers/google.ts
@@ -0,0 +1,592 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Google. */
+export const provider: ProviderRecord = {
+ id: 'google',
+ name: 'Google',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ apis: ['google-generative-ai'],
+ env: [['GEMINI_API_KEY']],
+}
+
+/** Every Google model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'deep-research-max-preview-04-2026',
+ provider: 'google',
+ name: 'Deep Research Max Preview (Apr-21-2026)',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 131072,
+ maxTokens: 65536,
+ },
+ {
+ id: 'deep-research-preview-04-2026',
+ provider: 'google',
+ name: 'Deep Research Preview (Apr-21-2026)',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 131072,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-2.5-computer-use-preview-10-2025',
+ provider: 'google',
+ name: 'Gemini 2.5 Computer Use Preview 10-2025',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 1.25,
+ output: 10,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 15,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 128000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'gemini-2.5-flash',
+ provider: 'google',
+ name: 'Gemini 2.5 Flash',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-2.5-flash-image',
+ provider: 'google',
+ name: 'Nano Banana',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 30, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 32768,
+ },
+ {
+ id: 'gemini-2.5-flash-lite',
+ provider: 'google',
+ name: 'Gemini 2.5 Flash-Lite',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.1, output: 0.4, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-2.5-pro',
+ provider: 'google',
+ name: 'Gemini 2.5 Pro',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 1.25,
+ output: 10,
+ cacheRead: 0.125,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 15,
+ cacheRead: 0.25,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3-flash-preview',
+ provider: 'google',
+ name: 'Gemini 3 Flash Preview',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 3, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3-pro-image',
+ provider: 'google',
+ name: 'Nano Banana Pro',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image'],
+ reasoning: { levels: { low: 'low', high: 'high' }, budget: false },
+ cost: { input: 2, output: 120, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 32768,
+ },
+ {
+ id: 'gemini-3-pro-image-preview',
+ provider: 'google',
+ name: 'Nano Banana Pro',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 120, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ },
+ {
+ id: 'gemini-3.1-flash-image',
+ provider: 'google',
+ name: 'Nano Banana 2',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: { levels: { minimal: 'minimal', high: 'high' }, budget: false },
+ cost: { input: 0.5, output: 60, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ },
+ {
+ id: 'gemini-3.1-flash-image-preview',
+ provider: 'google',
+ name: 'Nano Banana 2',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { minimal: 'minimal', high: 'high' }, budget: false },
+ cost: { input: 0.5, output: 60, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.1-flash-lite',
+ provider: 'google',
+ name: 'Gemini 3.1 Flash Lite',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 1.5, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.1-flash-lite-image',
+ provider: 'google',
+ name: 'Nano Banana 2 Lite',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image'],
+ reasoning: { levels: { minimal: 'minimal', high: 'high' }, budget: false },
+ cost: { input: 0.25, output: 30, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 4096,
+ },
+ {
+ id: 'gemini-3.1-flash-lite-preview',
+ provider: 'google',
+ name: 'Gemini 3.1 Flash Lite Preview',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 1.5, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.1-flash-live-preview',
+ provider: 'google',
+ name: 'Gemini 3.1 Flash Live Preview',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 4.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.1-pro-preview',
+ provider: 'google',
+ name: 'Gemini 3.1 Pro Preview',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.1-pro-preview-customtools',
+ provider: 'google',
+ name: 'Gemini 3.1 Pro Preview Custom Tools',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.5-flash',
+ provider: 'google',
+ name: 'Gemini 3.5 Flash',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 9, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.5-flash-lite',
+ provider: 'google',
+ name: 'Gemini 3.5 Flash Lite',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.5-live-translate-preview',
+ provider: 'google',
+ name: 'Gemini 3.5 Live Translate Preview',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['audio'],
+ reasoning: false,
+ cost: { input: 3.5, output: 21, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 16384,
+ maxTokens: 32768,
+ },
+ {
+ id: 'gemini-3.6-flash',
+ provider: 'google',
+ name: 'Gemini 3.6 Flash',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.7-flash',
+ provider: 'google',
+ name: 'Gemini 3.7 Flash',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.8-flash',
+ provider: 'google',
+ name: 'Gemini 3.8 Flash',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-flash-latest',
+ provider: 'google',
+ name: 'Gemini Flash Latest',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-flash-lite-latest',
+ provider: 'google',
+ name: 'Gemini Flash-Lite Latest',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemma-4-26b-a4b-it',
+ provider: 'google',
+ name: 'Gemma 4 26B A4B IT',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ },
+ {
+ id: 'gemma-4-31b-it',
+ provider: 'google',
+ name: 'Gemma 4 31B IT',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ },
+ {
+ id: 'lyria-3-clip-preview',
+ provider: 'google',
+ name: 'Lyria 3 Clip Preview',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'lyria-3-pro-preview',
+ provider: 'google',
+ name: 'Lyria 3 Pro Preview',
+ api: 'google-generative-ai',
+ baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+]
diff --git a/packages/ai-models/src/providers/groq.ts b/packages/ai-models/src/providers/groq.ts
new file mode 100644
index 0000000000..a2378eb4b2
--- /dev/null
+++ b/packages/ai-models/src/providers/groq.ts
@@ -0,0 +1,183 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Groq. */
+export const provider: ProviderRecord = {
+ id: 'groq',
+ name: 'Groq',
+ baseUrl: 'https://api.groq.com/openai/v1',
+ apis: ['openai-completions'],
+ env: [['GROQ_API_KEY']],
+}
+
+/** Every Groq model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'allam-2-7b',
+ provider: 'groq',
+ name: 'ALLaM-2-7b',
+ api: 'openai-completions',
+ baseUrl: 'https://api.groq.com/openai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 4096,
+ maxTokens: 4096,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'groq/compound',
+ provider: 'groq',
+ name: 'Compound',
+ api: 'openai-completions',
+ baseUrl: 'https://api.groq.com/openai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'groq/compound-mini',
+ provider: 'groq',
+ name: 'Compound Mini',
+ api: 'openai-completions',
+ baseUrl: 'https://api.groq.com/openai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'llama-3.1-8b-instant',
+ provider: 'groq',
+ name: 'Llama 3.1 8B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.groq.com/openai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.05, output: 0.08, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'llama-3.3-70b-versatile',
+ provider: 'groq',
+ name: 'Llama 3.3 70B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.groq.com/openai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.59, output: 0.79, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'meta-llama/llama-prompt-guard-2-22m',
+ provider: 'groq',
+ name: 'Llama Prompt Guard 2 22M',
+ api: 'openai-completions',
+ baseUrl: 'https://api.groq.com/openai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.03, output: 0.03, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 512,
+ maxTokens: 512,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'meta-llama/llama-prompt-guard-2-86m',
+ provider: 'groq',
+ name: 'Prompt Guard 2 86M',
+ api: 'openai-completions',
+ baseUrl: 'https://api.groq.com/openai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.04, output: 0.04, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 512,
+ maxTokens: 512,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-oss-120b',
+ provider: 'groq',
+ name: 'GPT OSS 120B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.groq.com/openai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 65536,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'openai/gpt-oss-20b',
+ provider: 'groq',
+ name: 'GPT OSS 20B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.groq.com/openai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.075, output: 0.3, cacheRead: 0.0375, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 65536,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'openai/gpt-oss-safeguard-20b',
+ provider: 'groq',
+ name: 'Safety GPT OSS 20B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.groq.com/openai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.075, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 65536,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'qwen/qwen3.6-27b',
+ provider: 'groq',
+ name: 'Qwen3.6 27B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.groq.com/openai/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'default' }, budget: false },
+ cost: { input: 0.6, output: 3, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'qwen/qwen3.8-27b',
+ provider: 'groq',
+ name: 'Qwen3.8 27B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.groq.com/openai/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.8, output: 4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131042,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true },
+ },
+]
diff --git a/packages/ai-models/src/providers/huggingface.ts b/packages/ai-models/src/providers/huggingface.ts
new file mode 100644
index 0000000000..f4ffd674ca
--- /dev/null
+++ b/packages/ai-models/src/providers/huggingface.ts
@@ -0,0 +1,1474 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Hugging Face. */
+export const provider: ProviderRecord = {
+ id: 'huggingface',
+ name: 'Hugging Face',
+ baseUrl: 'https://router.huggingface.co/v1',
+ apis: ['openai-completions'],
+ env: [['HF_TOKEN']],
+}
+
+/** Every Hugging Face model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'deepseek-ai/DeepSeek-R1',
+ provider: 'huggingface',
+ name: 'DeepSeek-R1',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.7, output: 2.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 64000,
+ maxTokens: 32768,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-R1-0528',
+ provider: 'huggingface',
+ name: 'DeepSeek-R1-0528',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 3, output: 5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 163840,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V3',
+ provider: 'huggingface',
+ name: 'DeepSeek-V3',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.4, output: 1.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 64000,
+ maxTokens: 8192,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V3-0324',
+ provider: 'huggingface',
+ name: 'DeepSeek V3 0324',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.27, output: 1.12, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 163840,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V3.1',
+ provider: 'huggingface',
+ name: 'DeepSeek-V3.1',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.27, output: 1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V3.2',
+ provider: 'huggingface',
+ name: 'DeepSeek-V3.2',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.28, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 65536,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4-Flash',
+ provider: 'huggingface',
+ name: 'DeepSeek V4 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4-Flash-0731',
+ provider: 'huggingface',
+ name: 'DeepSeek V4 Flash 0731',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: { levels: { high: 'high', max: 'max' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4-Flash-Vision-Exp',
+ provider: 'huggingface',
+ name: 'DeepSeek V4 Flash Vision Exp',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.44, output: 1.32, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4-Pro',
+ provider: 'huggingface',
+ name: 'DeepSeek V4 Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: { levels: { high: 'high' }, budget: false },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.003625, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 393216,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4-Pro-0813',
+ provider: 'huggingface',
+ name: 'DeepSeek V4 Pro 0813',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.32, output: 3.96, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4.1-Flash',
+ provider: 'huggingface',
+ name: 'DeepSeek V4.1 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'google/gemma-3-12b-it',
+ provider: 'huggingface',
+ name: 'Gemma 3 12B IT',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.05, output: 0.15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'google/gemma-3-27b-it',
+ provider: 'huggingface',
+ name: 'Gemma 3 27B IT',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.08, output: 0.16, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'google/gemma-3-4b-it',
+ provider: 'huggingface',
+ name: 'Gemma 3 4B IT',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.05, output: 0.1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'google/gemma-4-26B-A4B-it',
+ provider: 'huggingface',
+ name: 'Gemma 4 26B A4B IT',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.13, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'google/gemma-4-31B-it',
+ provider: 'huggingface',
+ name: 'Gemma 4 31B IT',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'meta-llama/Llama-3.1-8B-Instruct',
+ provider: 'huggingface',
+ name: 'Llama-3.1-8B-Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.06, output: 0.06, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 4096,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'meta-llama/Llama-3.3-70B-Instruct',
+ provider: 'huggingface',
+ name: 'Llama-3.3-70B-Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.59, output: 0.79, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 4096,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'MiniMaxAI/MiniMax-M2',
+ provider: 'huggingface',
+ name: 'MiniMax-M2',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'MiniMaxAI/MiniMax-M2.1',
+ provider: 'huggingface',
+ name: 'MiniMax-M2.1',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'MiniMaxAI/MiniMax-M2.5',
+ provider: 'huggingface',
+ name: 'MiniMax-M2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'MiniMaxAI/MiniMax-M2.7',
+ provider: 'huggingface',
+ name: 'MiniMax-M2.7',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'MiniMaxAI/MiniMax-M3',
+ provider: 'huggingface',
+ name: 'MiniMax-M3',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 524288,
+ maxTokens: 512000,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'moonshotai/Kimi-K2-Instruct',
+ provider: 'huggingface',
+ name: 'Kimi-K2-Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 1, output: 3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'moonshotai/Kimi-K2-Instruct-0905',
+ provider: 'huggingface',
+ name: 'Kimi-K2-Instruct-0905',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 1, output: 3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'moonshotai/Kimi-K2-Thinking',
+ provider: 'huggingface',
+ name: 'Kimi-K2-Thinking',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 2.5, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'moonshotai/Kimi-K2.5',
+ provider: 'huggingface',
+ name: 'Kimi-K2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 3, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'moonshotai/Kimi-K2.6',
+ provider: 'huggingface',
+ name: 'Kimi-K2.6',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'moonshotai/Kimi-K2.7-Code',
+ provider: 'huggingface',
+ name: 'Kimi K2.7 Code',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'moonshotai/Kimi-K3',
+ provider: 'huggingface',
+ name: 'Kimi K3',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-oss-120b',
+ provider: 'huggingface',
+ name: 'GPT OSS 120B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 0.69, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'openai/gpt-oss-20b',
+ provider: 'huggingface',
+ name: 'GPT OSS 20B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen2.5-Coder-32B-Instruct',
+ provider: 'huggingface',
+ name: 'Qwen2.5-Coder-32B-Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.06, output: 0.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3-235B-A22B',
+ provider: 'huggingface',
+ name: 'Qwen3 235B-A22B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 0.8, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 40960,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3-235B-A22B-Instruct-2507',
+ provider: 'huggingface',
+ name: 'Qwen3 235B-A22B Instruct 2507',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.855, output: 2.565, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3-235B-A22B-Thinking-2507',
+ provider: 'huggingface',
+ name: 'Qwen3-235B-A22B-Thinking-2507',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3-30B-A3B',
+ provider: 'huggingface',
+ name: 'Qwen3 30B A3B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.12, output: 0.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 40960,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3-32B',
+ provider: 'huggingface',
+ name: 'Qwen3 32B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.29, output: 0.59, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3-Coder-30B-A3B-Instruct',
+ provider: 'huggingface',
+ name: 'Qwen3-Coder 30B-A3B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.07, output: 0.26, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3-Coder-480B-A35B-Instruct',
+ provider: 'huggingface',
+ name: 'Qwen3-Coder-480B-A35B-Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 2, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 66536,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3-Coder-Next',
+ provider: 'huggingface',
+ name: 'Qwen3-Coder-Next',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.2, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3-Next-80B-A3B-Instruct',
+ provider: 'huggingface',
+ name: 'Qwen3-Next-80B-A3B-Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.25, output: 1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 66536,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3-Next-80B-A3B-Thinking',
+ provider: 'huggingface',
+ name: 'Qwen3-Next-80B-A3B-Thinking',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.3, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3-VL-235B-A22B-Instruct',
+ provider: 'huggingface',
+ name: 'Qwen3 VL 235B A22B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.3, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3-VL-235B-A22B-Thinking',
+ provider: 'huggingface',
+ name: 'Qwen3 VL 235B A22B Thinking',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.98, output: 3.95, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3.5-122B-A10B',
+ provider: 'huggingface',
+ name: 'Qwen3.5 122B-A10B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.4, output: 3.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3.5-27B',
+ provider: 'huggingface',
+ name: 'Qwen3.5 27B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 2.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3.5-35B-A3B',
+ provider: 'huggingface',
+ name: 'Qwen3.5 35B-A3B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3.5-397B-A17B',
+ provider: 'huggingface',
+ name: 'Qwen3.5-397B-A17B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 3.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'Qwen/Qwen3.5-9B',
+ provider: 'huggingface',
+ name: 'Qwen3.5 9B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.17, output: 0.25, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3.6-27B',
+ provider: 'huggingface',
+ name: 'Qwen3.6 27B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.47, output: 3.19, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3.6-35B-A3B',
+ provider: 'huggingface',
+ name: 'Qwen3.6 35B-A3B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.95, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3.8-2.4T-A95B',
+ provider: 'huggingface',
+ name: 'Qwen3.8 2.4T A95B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 6.25, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'Qwen/Qwen3.8-27B',
+ provider: 'huggingface',
+ name: 'Qwen3.8 27B',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0.4, output: 3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'stepfun-ai/Step-3.5-Flash',
+ provider: 'huggingface',
+ name: 'Step 3.5 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 256000,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'stepfun-ai/Step-3.7-Flash',
+ provider: 'huggingface',
+ name: 'Step 3.7 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 1.15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 256000,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'tencent/Hy3',
+ provider: 'huggingface',
+ name: 'Hy3',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.58, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'tencent/Hy4-preview',
+ provider: 'huggingface',
+ name: 'Hy4 preview',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.834, output: 2.501, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'thinkingmachines/Inkling',
+ provider: 'huggingface',
+ name: 'Inkling',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1, output: 4.05, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'thinkingmachines/Inkling-Small',
+ provider: 'huggingface',
+ name: 'Inkling Small',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 524288,
+ maxTokens: 1048576,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'XiaomiMiMo/MiMo-V2-Flash',
+ provider: 'huggingface',
+ name: 'MiMo-V2-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 4096,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'XiaomiMiMo/MiMo-V2.5',
+ provider: 'huggingface',
+ name: 'MiMo-V2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.4, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'XiaomiMiMo/MiMo-V2.5-Pro',
+ provider: 'huggingface',
+ name: 'MiMo-V2.5-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'zai-org/GLM-4.5',
+ provider: 'huggingface',
+ name: 'GLM-4.5',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 98304,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'zai-org/GLM-4.5-Air',
+ provider: 'huggingface',
+ name: 'GLM-4.5-Air',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.13, output: 0.85, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 98304,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'zai-org/GLM-4.5V',
+ provider: 'huggingface',
+ name: 'GLM-4.5V',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 1.8, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'zai-org/GLM-4.6',
+ provider: 'huggingface',
+ name: 'GLM-4.6',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.55, output: 2.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'zai-org/GLM-4.6V-Flash',
+ provider: 'huggingface',
+ name: 'GLM-4.6V-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.3, output: 0.9, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'zai-org/GLM-4.7',
+ provider: 'huggingface',
+ name: 'GLM-4.7',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0.11, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'zai-org/GLM-4.7-Flash',
+ provider: 'huggingface',
+ name: 'GLM-4.7-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 128000,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'zai-org/GLM-5',
+ provider: 'huggingface',
+ name: 'GLM-5',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 3.2, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 202752,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'zai-org/GLM-5.1',
+ provider: 'huggingface',
+ name: 'GLM-5.1',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 3.2, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 202752,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'zai-org/GLM-5.2',
+ provider: 'huggingface',
+ name: 'GLM-5.2',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'zai-org/GLM-5.3',
+ provider: 'huggingface',
+ name: 'GLM-5.3',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+ {
+ id: 'zai-org/GLM-5.3-Flash',
+ provider: 'huggingface',
+ name: 'GLM-5.3-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://router.huggingface.co/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { supportsStrictMode: true, supportsDeveloperRole: false },
+ },
+]
diff --git a/packages/ai-models/src/providers/kimi-coding.ts b/packages/ai-models/src/providers/kimi-coding.ts
new file mode 100644
index 0000000000..2eee92c69f
--- /dev/null
+++ b/packages/ai-models/src/providers/kimi-coding.ts
@@ -0,0 +1,85 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Kimi For Coding. */
+export const provider: ProviderRecord = {
+ id: 'kimi-coding',
+ name: 'Kimi For Coding',
+ baseUrl: 'https://api.kimi.com/coding',
+ apis: ['anthropic-messages'],
+ env: [['KIMI_API_KEY']],
+}
+
+/** Every Kimi For Coding model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'k3',
+ provider: 'kimi-coding',
+ name: 'Kimi K3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.kimi.com/coding',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { forceAdaptiveThinking: true, supportsTemperature: false },
+ },
+ {
+ id: 'k3-256k',
+ provider: 'kimi-coding',
+ name: 'Kimi K3-256K',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.kimi.com/coding',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: { forceAdaptiveThinking: true, supportsTemperature: false },
+ },
+ {
+ id: 'kimi-for-coding',
+ provider: 'kimi-coding',
+ name: 'kimi-for-coding',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.kimi.com/coding',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 32768,
+ compat: { forceAdaptiveThinking: true },
+ },
+ {
+ id: 'kimi-for-coding-highspeed',
+ provider: 'kimi-coding',
+ name: 'Kimi For Coding HighSpeed',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.kimi.com/coding',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: { forceAdaptiveThinking: true, supportsTemperature: false },
+ },
+]
diff --git a/packages/ai-models/src/providers/meta.ts b/packages/ai-models/src/providers/meta.ts
new file mode 100644
index 0000000000..96892e5b4e
--- /dev/null
+++ b/packages/ai-models/src/providers/meta.ts
@@ -0,0 +1,121 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Meta. */
+export const provider: ProviderRecord = {
+ id: 'meta',
+ name: 'Meta',
+ baseUrl: 'https://api.meta.ai/v1',
+ apis: ['openai-responses'],
+ env: [['META_API_KEY']],
+}
+
+/** Every Meta model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'muse-spark-1.1',
+ provider: 'meta',
+ name: 'Muse Spark 1.1',
+ api: 'openai-responses',
+ baseUrl: 'https://api.meta.ai/v1',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ },
+ {
+ id: 'muse-spark-1.2',
+ provider: 'meta',
+ name: 'Muse Spark 1.2',
+ api: 'openai-responses',
+ baseUrl: 'https://api.meta.ai/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ },
+ {
+ id: 'muse-spark-1.2-contributor',
+ provider: 'meta',
+ name: 'Muse Spark 1.2 Contributor',
+ api: 'openai-responses',
+ baseUrl: 'https://api.meta.ai/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.2, cacheRead: 0.002, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ },
+ {
+ id: 'muse-spark-1.3',
+ provider: 'meta',
+ name: 'Muse Spark 1.3',
+ api: 'openai-responses',
+ baseUrl: 'https://api.meta.ai/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ },
+ {
+ id: 'muse-spark-1.3-contributor',
+ provider: 'meta',
+ name: 'Muse Spark 1.3 Contributor',
+ api: 'openai-responses',
+ baseUrl: 'https://api.meta.ai/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.2, cacheRead: 0.002, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ },
+]
diff --git a/packages/ai-models/src/providers/minimax-cn.ts b/packages/ai-models/src/providers/minimax-cn.ts
new file mode 100644
index 0000000000..f14d96a7ce
--- /dev/null
+++ b/packages/ai-models/src/providers/minimax-cn.ts
@@ -0,0 +1,167 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** MiniMax (China). */
+export const provider: ProviderRecord = {
+ id: 'minimax-cn',
+ name: 'MiniMax (China)',
+ baseUrl: 'https://api.minimaxi.com/anthropic',
+ apis: ['anthropic-messages'],
+ env: [['MINIMAX_CN_API_KEY']],
+}
+
+/** Every MiniMax (China) model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'MiniMax-M2',
+ provider: 'minimax-cn',
+ name: 'MiniMax-M2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimaxi.com/anthropic',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'MiniMax-M2.1',
+ provider: 'minimax-cn',
+ name: 'MiniMax-M2.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimaxi.com/anthropic',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.03, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'MiniMax-M2.5',
+ provider: 'minimax-cn',
+ name: 'MiniMax-M2.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimaxi.com/anthropic',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.03, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'MiniMax-M2.5-highspeed',
+ provider: 'minimax-cn',
+ name: 'MiniMax-M2.5-highspeed',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimaxi.com/anthropic',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 2.4, cacheRead: 0.06, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'MiniMax-M2.7',
+ provider: 'minimax-cn',
+ name: 'MiniMax-M2.7',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimaxi.com/anthropic',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'MiniMax-M2.7-highspeed',
+ provider: 'minimax-cn',
+ name: 'MiniMax-M2.7-highspeed',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimaxi.com/anthropic',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 2.4, cacheRead: 0.06, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'MiniMax-M3',
+ provider: 'minimax-cn',
+ name: 'MiniMax-M3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimaxi.com/anthropic',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 0.3,
+ output: 1.2,
+ cacheRead: 0.06,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 512000,
+ input: 0.6,
+ output: 2.4,
+ cacheRead: 0.12,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 512000,
+ },
+]
diff --git a/packages/ai-models/src/providers/minimax.ts b/packages/ai-models/src/providers/minimax.ts
new file mode 100644
index 0000000000..e0de332fe8
--- /dev/null
+++ b/packages/ai-models/src/providers/minimax.ts
@@ -0,0 +1,167 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** MiniMax. */
+export const provider: ProviderRecord = {
+ id: 'minimax',
+ name: 'MiniMax',
+ baseUrl: 'https://api.minimax.io/anthropic',
+ apis: ['anthropic-messages'],
+ env: [['MINIMAX_API_KEY']],
+}
+
+/** Every MiniMax model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'MiniMax-M2',
+ provider: 'minimax',
+ name: 'MiniMax-M2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimax.io/anthropic',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'MiniMax-M2.1',
+ provider: 'minimax',
+ name: 'MiniMax-M2.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimax.io/anthropic',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.03, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'MiniMax-M2.5',
+ provider: 'minimax',
+ name: 'MiniMax-M2.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimax.io/anthropic',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.03, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'MiniMax-M2.5-highspeed',
+ provider: 'minimax',
+ name: 'MiniMax-M2.5-highspeed',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimax.io/anthropic',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 2.4, cacheRead: 0.06, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'MiniMax-M2.7',
+ provider: 'minimax',
+ name: 'MiniMax-M2.7',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimax.io/anthropic',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'MiniMax-M2.7-highspeed',
+ provider: 'minimax',
+ name: 'MiniMax-M2.7-highspeed',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimax.io/anthropic',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 2.4, cacheRead: 0.06, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'MiniMax-M3',
+ provider: 'minimax',
+ name: 'MiniMax-M3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://api.minimax.io/anthropic',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 0.3,
+ output: 1.2,
+ cacheRead: 0.06,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 512000,
+ input: 0.6,
+ output: 2.4,
+ cacheRead: 0.12,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 512000,
+ },
+]
diff --git a/packages/ai-models/src/providers/mistral.ts b/packages/ai-models/src/providers/mistral.ts
new file mode 100644
index 0000000000..823018144d
--- /dev/null
+++ b/packages/ai-models/src/providers/mistral.ts
@@ -0,0 +1,449 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Mistral. */
+export const provider: ProviderRecord = {
+ id: 'mistral',
+ name: 'Mistral',
+ baseUrl: 'https://api.mistral.ai',
+ apis: ['mistral-conversations'],
+ env: [['MISTRAL_API_KEY']],
+}
+
+/** Every Mistral model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'codestral-latest',
+ provider: 'mistral',
+ name: 'Codestral (latest)',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.3, output: 0.9, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'devstral-2512',
+ provider: 'mistral',
+ name: 'Devstral 2',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.4, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ },
+ {
+ id: 'devstral-latest',
+ provider: 'mistral',
+ name: 'Devstral 2',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.4, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ },
+ {
+ id: 'devstral-medium-2507',
+ provider: 'mistral',
+ name: 'Devstral Medium',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.4, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'devstral-medium-latest',
+ provider: 'mistral',
+ name: 'Devstral 2 (latest)',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.4, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ },
+ {
+ id: 'devstral-small-2505',
+ provider: 'mistral',
+ name: 'Devstral Small 2505',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'devstral-small-2507',
+ provider: 'mistral',
+ name: 'Devstral Small',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'labs-devstral-small-2512',
+ provider: 'mistral',
+ name: 'Devstral Small 2',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ },
+ {
+ id: 'magistral-medium-latest',
+ provider: 'mistral',
+ name: 'Magistral Medium (latest)',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ },
+ {
+ provider: 'mistral',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ id: 'magistral-small',
+ name: 'Magistral Small',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 1.5, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'ministral-3b-latest',
+ provider: 'mistral',
+ name: 'Ministral 3B (latest)',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.04, output: 0.04, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'ministral-8b-latest',
+ provider: 'mistral',
+ name: 'Ministral 8B (latest)',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'mistral-large-2411',
+ provider: 'mistral',
+ name: 'Mistral Large 2.1',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 2, output: 6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ },
+ {
+ id: 'mistral-large-2512',
+ provider: 'mistral',
+ name: 'Mistral Large 3',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.5, output: 1.5, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ },
+ {
+ id: 'mistral-large-latest',
+ provider: 'mistral',
+ name: 'Mistral Large (latest)',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.5, output: 1.5, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ },
+ {
+ id: 'mistral-medium-2505',
+ provider: 'mistral',
+ name: 'Mistral Medium 3',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.4, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ },
+ {
+ id: 'mistral-medium-2508',
+ provider: 'mistral',
+ name: 'Mistral Medium 3.1',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.4, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ },
+ {
+ id: 'mistral-medium-2604',
+ provider: 'mistral',
+ name: 'Mistral Medium 3.5',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 1.5, output: 7.5, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ },
+ {
+ id: 'mistral-medium-3.5',
+ provider: 'mistral',
+ name: 'Mistral Medium 3.5',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 1.5, output: 7.5, cacheRead: 0.75, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 32768,
+ borrowedFrom: 'nano-gpt/mistralai/mistral-medium-3.5',
+ },
+ {
+ id: 'mistral-medium-latest',
+ provider: 'mistral',
+ name: 'Mistral Medium (latest)',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 1.5, output: 7.5, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ },
+ {
+ id: 'mistral-nemo',
+ provider: 'mistral',
+ name: 'Mistral Nemo',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'mistral-small-2506',
+ provider: 'mistral',
+ name: 'Mistral Small 3.2',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ },
+ {
+ id: 'mistral-small-2603',
+ provider: 'mistral',
+ name: 'Mistral Small 4',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ },
+ {
+ id: 'mistral-small-latest',
+ provider: 'mistral',
+ name: 'Mistral Small (latest)',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ },
+ {
+ id: 'open-mistral-7b',
+ provider: 'mistral',
+ name: 'Mistral 7B',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.25, output: 0.25, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8000,
+ maxTokens: 8000,
+ },
+ {
+ id: 'open-mistral-nemo',
+ provider: 'mistral',
+ name: 'Open Mistral Nemo',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'open-mixtral-8x22b',
+ provider: 'mistral',
+ name: 'Mixtral 8x22B',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 2, output: 6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 64000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'open-mixtral-8x7b',
+ provider: 'mistral',
+ name: 'Mixtral 8x7B',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.7, output: 0.7, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32000,
+ maxTokens: 32000,
+ },
+ {
+ id: 'pixtral-12b',
+ provider: 'mistral',
+ name: 'Pixtral 12B',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'pixtral-large-latest',
+ provider: 'mistral',
+ name: 'Pixtral Large (latest)',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2, output: 6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ },
+ {
+ id: 'voxtral-mini-latest',
+ provider: 'mistral',
+ name: 'Voxtral Mini (latest)',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['audio'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { supportsTemperature: false },
+ },
+ {
+ id: 'voxtral-small-latest',
+ provider: 'mistral',
+ name: 'Voxtral Small (latest)',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32000,
+ maxTokens: 32000,
+ },
+ {
+ id: 'zai-glm-5-2',
+ provider: 'mistral',
+ name: 'GLM-5.2',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.14, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ },
+ {
+ id: 'zai-glm-5-3',
+ provider: 'mistral',
+ name: 'GLM-5.3',
+ api: 'mistral-conversations',
+ baseUrl: 'https://api.mistral.ai',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.14, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ },
+]
diff --git a/packages/ai-models/src/providers/moonshotai-cn.ts b/packages/ai-models/src/providers/moonshotai-cn.ts
new file mode 100644
index 0000000000..85ec803478
--- /dev/null
+++ b/packages/ai-models/src/providers/moonshotai-cn.ts
@@ -0,0 +1,127 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Moonshot AI (China). */
+export const provider: ProviderRecord = {
+ id: 'moonshotai-cn',
+ name: 'Moonshot AI (China)',
+ baseUrl: 'https://api.moonshot.cn/v1',
+ apis: ['openai-completions'],
+ env: [['MOONSHOT_API_KEY']],
+}
+
+/** Every Moonshot AI (China) model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'kimi-k2.6',
+ provider: 'moonshotai-cn',
+ name: 'Kimi K2.6',
+ api: 'openai-completions',
+ baseUrl: 'https://api.moonshot.cn/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ supportsStrictMode: false,
+ supportsMidConvoSystemMessages: true,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'kimi-k2.7-code',
+ provider: 'moonshotai-cn',
+ name: 'Kimi K2.7 Code',
+ api: 'openai-completions',
+ baseUrl: 'https://api.moonshot.cn/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.19, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ supportsStrictMode: false,
+ supportsMidConvoSystemMessages: true,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'kimi-k2.7-code-highspeed',
+ provider: 'moonshotai-cn',
+ name: 'Kimi K2.7 Code HighSpeed',
+ api: 'openai-completions',
+ baseUrl: 'https://api.moonshot.cn/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.9, output: 8, cacheRead: 0.38, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ supportsStrictMode: false,
+ supportsMidConvoSystemMessages: true,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'kimi-k3',
+ provider: 'moonshotai-cn',
+ name: 'Kimi K3',
+ api: 'openai-completions',
+ baseUrl: 'https://api.moonshot.cn/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ supportsStrictMode: false,
+ supportsMidConvoSystemMessages: true,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ supportsReasoningEffort: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/moonshotai.ts b/packages/ai-models/src/providers/moonshotai.ts
new file mode 100644
index 0000000000..97103c5eff
--- /dev/null
+++ b/packages/ai-models/src/providers/moonshotai.ts
@@ -0,0 +1,127 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Moonshot AI. */
+export const provider: ProviderRecord = {
+ id: 'moonshotai',
+ name: 'Moonshot AI',
+ baseUrl: 'https://api.moonshot.ai/v1',
+ apis: ['openai-completions'],
+ env: [['MOONSHOT_API_KEY']],
+}
+
+/** Every Moonshot AI model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'kimi-k2.6',
+ provider: 'moonshotai',
+ name: 'Kimi K2.6',
+ api: 'openai-completions',
+ baseUrl: 'https://api.moonshot.ai/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ supportsStrictMode: false,
+ supportsMidConvoSystemMessages: true,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'kimi-k2.7-code',
+ provider: 'moonshotai',
+ name: 'Kimi K2.7 Code',
+ api: 'openai-completions',
+ baseUrl: 'https://api.moonshot.ai/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.19, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ supportsStrictMode: false,
+ supportsMidConvoSystemMessages: true,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'kimi-k2.7-code-highspeed',
+ provider: 'moonshotai',
+ name: 'Kimi K2.7 Code HighSpeed',
+ api: 'openai-completions',
+ baseUrl: 'https://api.moonshot.ai/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.9, output: 8, cacheRead: 0.38, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ supportsStrictMode: false,
+ supportsMidConvoSystemMessages: true,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'kimi-k3',
+ provider: 'moonshotai',
+ name: 'Kimi K3',
+ api: 'openai-completions',
+ baseUrl: 'https://api.moonshot.ai/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ supportsStrictMode: false,
+ supportsMidConvoSystemMessages: true,
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ supportsReasoningEffort: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/nvidia.ts b/packages/ai-models/src/providers/nvidia.ts
new file mode 100644
index 0000000000..a479925c8d
--- /dev/null
+++ b/packages/ai-models/src/providers/nvidia.ts
@@ -0,0 +1,1960 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** NVIDIA. */
+export const provider: ProviderRecord = {
+ id: 'nvidia',
+ name: 'NVIDIA',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ apis: ['openai-completions'],
+ env: [['NVIDIA_API_KEY']],
+}
+
+/** Every NVIDIA model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'abacusai/dracarys-llama-3.1-70b-instruct',
+ provider: 'nvidia',
+ name: 'dracarys-llama-3.1-70b-instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'baai/bge-m3',
+ provider: 'nvidia',
+ name: 'BGE M3',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 1024,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'bytedance/seed-oss-36b-instruct',
+ provider: 'nvidia',
+ name: 'ByteDance-Seed/Seed-OSS-36B-Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262000,
+ maxTokens: 262000,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'deepseek-ai/deepseek-v4-flash',
+ provider: 'nvidia',
+ name: 'DeepSeek V4 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 393216,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-ai/deepseek-v4-flash-0731',
+ provider: 'nvidia',
+ name: 'DeepSeek V4 Flash 0731',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-ai/deepseek-v4-pro',
+ provider: 'nvidia',
+ name: 'DeepSeek V4 Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.003625, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 393216,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-ai/deepseek-v4-pro-0813',
+ provider: 'nvidia',
+ name: 'DeepSeek V4 Pro 0813',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'google/gemma-2-2b-it',
+ provider: 'nvidia',
+ name: 'Gemma 2 2b It',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'google/gemma-3-12b-it',
+ provider: 'nvidia',
+ name: 'Gemma 3 12B IT',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'google/gemma-3-4b-it',
+ provider: 'nvidia',
+ name: 'Gemma 3 4B IT',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'google/gemma-3n-e2b-it',
+ provider: 'nvidia',
+ name: 'Gemma 3n E2b It',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'google/gemma-3n-e4b-it',
+ provider: 'nvidia',
+ name: 'Gemma 3n E4b It',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'google/gemma-4-31b-it',
+ provider: 'nvidia',
+ name: 'Gemma-4-31B-IT',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'google/google-paligemma',
+ provider: 'nvidia',
+ name: 'paligemma',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'meta/esm2-650m',
+ provider: 'nvidia',
+ name: 'esm2-650m',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'meta/esmfold',
+ provider: 'nvidia',
+ name: 'esmfold',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'meta/llama-3.1-70b-instruct',
+ provider: 'nvidia',
+ name: 'Llama 3.1 70b Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'meta/llama-3.1-8b-instruct',
+ provider: 'nvidia',
+ name: 'Llama 3.1 8B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 16000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'meta/llama-3.2-11b-vision-instruct',
+ provider: 'nvidia',
+ name: 'Llama 3.2 11b Vision Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'meta/llama-3.2-1b-instruct',
+ provider: 'nvidia',
+ name: 'Llama 3.2 1b Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'meta/llama-3.2-3b-instruct',
+ provider: 'nvidia',
+ name: 'Llama 3.2 3B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 32000,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'meta/llama-3.2-90b-vision-instruct',
+ provider: 'nvidia',
+ name: 'Llama-3.2-90B-Vision-Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'meta/llama-3.3-70b-instruct',
+ provider: 'nvidia',
+ name: 'Llama 3.3 70b Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'meta/llama-4-maverick-17b-128e-instruct',
+ provider: 'nvidia',
+ name: 'Llama 4 Maverick 17b 128e Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'meta/llama-guard-4-12b',
+ provider: 'nvidia',
+ name: 'Llama Guard 4 12B',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'meta/muse-glimmer-30b',
+ provider: 'nvidia',
+ name: 'Muse Glimmer 30B',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'microsoft/phi-4-mini-instruct',
+ provider: 'nvidia',
+ name: 'Phi-4-Mini',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'microsoft/phi-4-multimodal-instruct',
+ provider: 'nvidia',
+ name: 'Phi 4 Multimodal',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'minimaxai/minimax-m2.7',
+ provider: 'nvidia',
+ name: 'MiniMax-M2.7',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'minimaxai/minimax-m3',
+ provider: 'nvidia',
+ name: 'MiniMax-M3',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'mistralai/magistral-small-2506',
+ provider: 'nvidia',
+ name: 'Magistral Small 2506',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 32768,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'mistralai/ministral-14b-instruct-2512',
+ provider: 'nvidia',
+ name: 'Ministral 3 14B Instruct 2512',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-7b-instruct-v0.3',
+ provider: 'nvidia',
+ name: 'Mistral-7B-Instruct-v0.3',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 65536,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-large-3-675b-instruct-2512',
+ provider: 'nvidia',
+ name: 'Mistral Large 3 675B Instruct 2512',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-medium-3-instruct',
+ provider: 'nvidia',
+ name: 'Mistral Medium 3',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-medium-3.5-128b',
+ provider: 'nvidia',
+ name: 'Mistral Medium 3.5',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-nemotron',
+ provider: 'nvidia',
+ name: 'mistral-nemotron',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-small-4-119b-2603',
+ provider: 'nvidia',
+ name: 'mistral-small-4-119b-2603',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'mistralai/mixtral-8x22b-instruct',
+ provider: 'nvidia',
+ name: 'Mistral: Mixtral 8x22B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 13108,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'mistralai/mixtral-8x7b-instruct',
+ provider: 'nvidia',
+ name: 'Mistral: Mixtral 8x7B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'moonshotai/kimi-k2.6',
+ provider: 'nvidia',
+ name: 'Kimi K2.6',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'moonshotai/kimi-k3',
+ provider: 'nvidia',
+ name: 'Kimi K3',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'nvidia/active-speaker-detection',
+ provider: 'nvidia',
+ name: 'Active Speaker Detection',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['video'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'nvidia/bevformer',
+ provider: 'nvidia',
+ name: 'bevformer',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['video'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/cosmos-reason2-8b',
+ provider: 'nvidia',
+ name: 'Cosmos Reason2 8B',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/gliner-pii',
+ provider: 'nvidia',
+ name: 'gliner-pii',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/llama-3.1-nemotron-70b-instruct',
+ provider: 'nvidia',
+ name: 'Llama 3.1 Nemotron 70B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/llama-3.1-nemotron-nano-8b-v1',
+ provider: 'nvidia',
+ name: 'Llama 3.1 Nemotron Nano 8B v1',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/llama-3.1-nemotron-nano-vl-8b-v1',
+ provider: 'nvidia',
+ name: 'Llama 3.1 Nemotron Nano VL 8B v1',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/llama-3.1-nemotron-safety-guard-8b-v3',
+ provider: 'nvidia',
+ name: 'llama-3.1-nemotron-safety-guard-8b-v3',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'nvidia/llama-3.1-nemotron-ultra-253b-v1',
+ provider: 'nvidia',
+ name: 'Llama 3.1 Nemotron Ultra 253B',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/llama-3.3-nemotron-super-49b-v1',
+ provider: 'nvidia',
+ name: 'Llama 3.3 Nemotron Super 49B v1',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 65536,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/llama-3.3-nemotron-super-49b-v1.5',
+ provider: 'nvidia',
+ name: 'Llama 3.3 Nemotron Super 49B v1.5',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 65536,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3-content-safety',
+ provider: 'nvidia',
+ name: 'nemotron-3-content-safety',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3-nano-30b-a3b',
+ provider: 'nvidia',
+ name: 'nemotron-3-nano-30b-a3b',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3-nano-omni-30b-a3b-reasoning',
+ provider: 'nvidia',
+ name: 'Nemotron 3 Nano Omni',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 65536,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3-super-120b-a12b',
+ provider: 'nvidia',
+ name: 'Nemotron 3 Super',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.2, output: 0.8, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3-ultra-550b-a55b',
+ provider: 'nvidia',
+ name: 'Nemotron 3 Ultra 550B A55B',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.5, output: 2.5, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3.5-lightning-30b-a3b',
+ provider: 'nvidia',
+ name: 'Nemotron 3.5 Lightning 30B A3B',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-content-safety-reasoning-4b',
+ provider: 'nvidia',
+ name: 'nemotron-content-safety-reasoning-4b',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-mini-4b-instruct',
+ provider: 'nvidia',
+ name: 'nemotron-mini-4b-instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-nano-12b-v2-vl',
+ provider: 'nvidia',
+ name: 'Nemotron Nano 12B v2 VL',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-voicechat',
+ provider: 'nvidia',
+ name: 'nemotron-voicechat',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/nvidia-nemotron-nano-9b-v2',
+ provider: 'nvidia',
+ name: 'nvidia-nemotron-nano-9b-v2',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/riva-translate-4b-instruct-v1.1',
+ provider: 'nvidia',
+ name: 'riva-translate-4b-instruct-v1_1',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'nvidia/sparsedrive',
+ provider: 'nvidia',
+ name: 'sparsedrive',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['video'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/streampetr',
+ provider: 'nvidia',
+ name: 'streampetr',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['video'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/studiovoice',
+ provider: 'nvidia',
+ name: 'studiovoice',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/synthetic-video-detector',
+ provider: 'nvidia',
+ name: 'synthetic-video-detector',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['video'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/usdcode',
+ provider: 'nvidia',
+ name: 'usdcode',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'nvidia/usdvalidate',
+ provider: 'nvidia',
+ name: 'usdvalidate',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-oss-20b',
+ provider: 'nvidia',
+ name: 'GPT OSS 20B',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'poolside/laguna-xs-2.1',
+ provider: 'nvidia',
+ name: 'Laguna XS 2.1',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'qwen/qwen2.5-coder-32b-instruct',
+ provider: 'nvidia',
+ name: 'Qwen2.5 Coder 32b Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-coder-480b-a35b-instruct',
+ provider: 'nvidia',
+ name: 'Qwen3 Coder 480B A35B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 66536,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-next-80b-a3b-instruct',
+ provider: 'nvidia',
+ name: 'Qwen3-Next-80B-A3B-Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.5-122b-a10b',
+ provider: 'nvidia',
+ name: 'Qwen3.5 122B-A10B',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.5-397b-a17b',
+ provider: 'nvidia',
+ name: 'Qwen3.5-397B-A17B',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'sarvamai/sarvam-m',
+ provider: 'nvidia',
+ name: 'sarvam-m',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'stepfun-ai/step-3.5-flash',
+ provider: 'nvidia',
+ name: 'Step 3.5 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'stepfun-ai/step-3.7-flash',
+ provider: 'nvidia',
+ name: 'Step 3.7 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'thinkingmachines/inkling',
+ provider: 'nvidia',
+ name: 'Inkling',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image', 'audio'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 16384,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'upstage/solar-10.7b-instruct',
+ provider: 'nvidia',
+ name: 'solar-10.7b-instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-5.2',
+ provider: 'nvidia',
+ name: 'GLM-5.2',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'z-ai/glm-5.3',
+ provider: 'nvidia',
+ name: 'GLM-5.3',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'z-ai/glm-5.3-flash',
+ provider: 'nvidia',
+ name: 'GLM-5.3-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ headers: { 'NVCF-POLL-SECONDS': '3600' },
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/openai.ts b/packages/ai-models/src/providers/openai.ts
new file mode 100644
index 0000000000..bde9daa35e
--- /dev/null
+++ b/packages/ai-models/src/providers/openai.ts
@@ -0,0 +1,1059 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** OpenAI. */
+export const provider: ProviderRecord = {
+ id: 'openai',
+ name: 'OpenAI',
+ baseUrl: 'https://api.openai.com/v1',
+ apis: ['openai-responses'],
+ env: [['OPENAI_API_KEY']],
+}
+
+/** Every OpenAI model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'chatgpt-image-latest',
+ provider: 'openai',
+ name: 'chatgpt-image-latest',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-3.5-turbo',
+ provider: 'openai',
+ name: 'GPT-3.5-turbo',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.5, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 16385,
+ maxTokens: 4096,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4',
+ provider: 'openai',
+ name: 'GPT-4',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 30, output: 60, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 8192,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4-turbo',
+ provider: 'openai',
+ name: 'GPT-4 Turbo',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 10, output: 30, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4.1',
+ provider: 'openai',
+ name: 'GPT-4.1',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4.1-mini',
+ provider: 'openai',
+ name: 'GPT-4.1 mini',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.4, output: 1.6, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4.1-nano',
+ provider: 'openai',
+ name: 'GPT-4.1 nano',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.4, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4o',
+ provider: 'openai',
+ name: 'GPT-4o',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 1.25, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4o-2024-05-13',
+ provider: 'openai',
+ name: 'GPT-4o (2024-05-13)',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 5, output: 15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4o-2024-08-06',
+ provider: 'openai',
+ name: 'GPT-4o (2024-08-06)',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 1.25, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4o-2024-11-20',
+ provider: 'openai',
+ name: 'GPT-4o (2024-11-20)',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 1.25, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-4o-mini',
+ provider: 'openai',
+ name: 'GPT-4o mini',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-5',
+ provider: 'openai',
+ name: 'GPT-5',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5-chat-latest',
+ provider: 'openai',
+ name: 'gpt-5-chat-latest',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 1.125, output: 9, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true },
+ borrowedFrom: 'jiekou/gpt-5-chat-latest',
+ },
+ {
+ id: 'gpt-5-mini',
+ provider: 'openai',
+ name: 'GPT-5 Mini',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 2, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5-nano',
+ provider: 'openai',
+ name: 'GPT-5 Nano',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.05, output: 0.4, cacheRead: 0.005, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5-pro',
+ provider: 'openai',
+ name: 'GPT-5 Pro',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { high: 'high' }, budget: false },
+ cost: { input: 15, output: 120, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 272000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.1',
+ provider: 'openai',
+ name: 'GPT-5.1',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-5.2',
+ provider: 'openai',
+ name: 'GPT-5.2',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-5.2-chat-latest',
+ provider: 'openai',
+ name: 'GPT-5.2 Chat',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { medium: 'medium' }, budget: false },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.2-pro',
+ provider: 'openai',
+ name: 'GPT-5.2 Pro',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 21, output: 168, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.3-chat-latest',
+ provider: 'openai',
+ name: 'GPT-5.3 Chat (latest)',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-5.3-codex',
+ provider: 'openai',
+ name: 'GPT-5.3 Codex',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-5.3-codex-spark',
+ provider: 'openai',
+ name: 'GPT-5.3 Codex Spark',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.4',
+ provider: 'openai',
+ name: 'GPT-5.4',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2.5,
+ output: 15,
+ cacheRead: 0.25,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 5,
+ output: 22.5,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-5.4-mini',
+ provider: 'openai',
+ name: 'GPT-5.4 mini',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 4.5, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-5.4-nano',
+ provider: 'openai',
+ name: 'GPT-5.4 nano',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 1.25, cacheRead: 0.02, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true },
+ },
+ {
+ id: 'gpt-5.4-pro',
+ provider: 'openai',
+ name: 'GPT-5.4 Pro',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 30,
+ output: 180,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 60,
+ output: 270,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.5',
+ provider: 'openai',
+ name: 'GPT-5.5',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 5,
+ output: 30,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 10,
+ output: 45,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.5-pro',
+ provider: 'openai',
+ name: 'GPT-5.5 Pro',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 30,
+ output: 180,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 60,
+ output: 270,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.6',
+ provider: 'openai',
+ name: 'GPT-5.6',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 4,
+ output: 20,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 8,
+ output: 30,
+ cacheRead: 0.8,
+ cacheWrite: 10,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.6-luna',
+ provider: 'openai',
+ name: 'GPT-5.6 Luna',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.2,
+ output: 1.2,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.4,
+ output: 1.8,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.6-sol',
+ provider: 'openai',
+ name: 'GPT-5.6 Sol',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 4,
+ output: 20,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 8,
+ output: 30,
+ cacheRead: 0.8,
+ cacheWrite: 10,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-5.6-terra',
+ provider: 'openai',
+ name: 'GPT-5.6 Terra',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-6-astra',
+ provider: 'openai',
+ name: 'GPT-6 Astra',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 10,
+ output: 50,
+ cacheRead: 1,
+ cacheWrite: 12.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 20,
+ output: 75,
+ cacheRead: 2,
+ cacheWrite: 25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-6-luna',
+ provider: 'openai',
+ name: 'GPT-6 Luna',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.1,
+ output: 0.5,
+ cacheRead: 0.01,
+ cacheWrite: 0.125,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.2,
+ output: 0.75,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-6-sol',
+ provider: 'openai',
+ name: 'GPT-6 Sol',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-6.1-sol',
+ provider: 'openai',
+ name: 'GPT-6.1 Sol',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.1,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.2,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-daybreak-blue-latest',
+ provider: 'openai',
+ name: 'Daybreak Blue',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 4,
+ output: 20,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 8,
+ output: 30,
+ cacheRead: 0.8,
+ cacheWrite: 10,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-daybreak-red-latest',
+ provider: 'openai',
+ name: 'Daybreak Red',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 12.5, output: 75, cacheRead: 1.25, cacheWrite: 15.625 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-image-1-mini',
+ provider: 'openai',
+ name: 'gpt-image-1-mini',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-image-1.5',
+ provider: 'openai',
+ name: 'gpt-image-1.5',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'gpt-realtime-2.1',
+ provider: 'openai',
+ name: 'GPT-Realtime-2.1',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'audio'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 4, output: 24, cacheRead: 0.4, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'o1',
+ provider: 'openai',
+ name: 'o1',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 15, output: 60, cacheRead: 7.5, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'o1-pro',
+ provider: 'openai',
+ name: 'o1-pro',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 150, output: 600, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'o3',
+ provider: 'openai',
+ name: 'o3',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'o3-mini',
+ provider: 'openai',
+ name: 'o3-mini',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.1, output: 4.4, cacheRead: 0.55, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'o3-pro',
+ provider: 'openai',
+ name: 'o3-pro',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 20, output: 80, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+ {
+ id: 'o4-mini',
+ provider: 'openai',
+ name: 'o4-mini',
+ api: 'openai-responses',
+ baseUrl: 'https://api.openai.com/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.1, output: 4.4, cacheRead: 0.275, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { supportsStrictMode: true, supportsTemperature: false },
+ },
+]
diff --git a/packages/ai-models/src/providers/opencode-go.ts b/packages/ai-models/src/providers/opencode-go.ts
new file mode 100644
index 0000000000..48b91c0bd1
--- /dev/null
+++ b/packages/ai-models/src/providers/opencode-go.ts
@@ -0,0 +1,860 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** OpenCode Go. */
+export const provider: ProviderRecord = {
+ id: 'opencode-go',
+ name: 'OpenCode Go',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ apis: ['anthropic-messages', 'openai-completions', 'openai-responses'],
+ env: [['OPENCODE_API_KEY']],
+}
+
+/** Every OpenCode Go model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'deepseek-v4-flash',
+ provider: 'opencode-go',
+ name: 'DeepSeek V4 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.003, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-v4-flash-vision-exp',
+ provider: 'opencode-go',
+ name: 'DeepSeek V4 Flash Vision Exp',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.003, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-v4-pro',
+ provider: 'opencode-go',
+ name: 'DeepSeek V4 Pro (New)',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text'],
+ reasoning: { levels: { high: 'high', max: 'max' }, budget: false },
+ cost: { input: 0.66, output: 1.98, cacheRead: 0.022, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-v4.1-flash',
+ provider: 'opencode-go',
+ name: 'DeepSeek V4.1 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.003, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'glm-5.1',
+ provider: 'opencode-go',
+ name: 'GLM-5.1',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ borrowedFrom: 'zai/glm-5.1',
+ },
+ {
+ id: 'glm-5.2',
+ provider: 'opencode-go',
+ name: 'GLM-5.2',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text'],
+ reasoning: { levels: { high: 'high', max: 'max' }, budget: false },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'glm-5.3',
+ provider: 'opencode-go',
+ name: 'GLM-5.3',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'glm-5.3-flash',
+ provider: 'opencode-go',
+ name: 'GLM-5.3-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'gpt-5.6-luna',
+ provider: 'opencode-go',
+ name: 'GPT-5.6 Luna',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.2,
+ output: 1.2,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.4,
+ output: 1.8,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-6-luna',
+ provider: 'opencode-go',
+ name: 'GPT-6 Luna',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.1,
+ output: 0.5,
+ cacheRead: 0.01,
+ cacheWrite: 0.125,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.2,
+ output: 0.75,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'grok-4.5',
+ provider: 'opencode-go',
+ name: 'Grok 4.5',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.3,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 0.6,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'grok-4.6',
+ provider: 'opencode-go',
+ name: 'Grok 4.6',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'grok-4.7',
+ provider: 'opencode-go',
+ name: 'Grok 4.7',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'hy3',
+ provider: 'opencode-go',
+ name: 'Hy3',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.58, cacheRead: 0.035, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 128000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'hy4-preview',
+ provider: 'opencode-go',
+ name: 'Hy4 preview',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.834, output: 2.501, cacheRead: 0.042, cacheWrite: 0 },
+ contextWindow: 1024000,
+ maxTokens: 64000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'kimi-k2.6',
+ provider: 'opencode-go',
+ name: 'Kimi K2.6',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'kimi-k2.7-code',
+ provider: 'opencode-go',
+ name: 'Kimi K2.7 Code',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.19, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'kimi-k3',
+ provider: 'opencode-go',
+ name: 'Kimi K3',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { max: 'max' }, budget: false },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'longcat-2.0',
+ provider: 'opencode-go',
+ name: 'LongCat-2.0',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.006, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'longcat-2.5-preview-free',
+ provider: 'opencode-go',
+ name: 'LongCat 2.5 Preview Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'mimo-v2.5',
+ provider: 'opencode-go',
+ name: 'MiMo V2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'mimo-v2.5-pro',
+ provider: 'opencode-go',
+ name: 'MiMo V2.5 Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.003625, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 128000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'mimo-v2.6-flash',
+ provider: 'opencode-go',
+ name: 'MiMo-V2.6-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'mimo-v2.6-pro',
+ provider: 'opencode-go',
+ name: 'MiMo-V2.6-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.003625, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'minimax-m2.7',
+ provider: 'opencode-go',
+ name: 'MiniMax-M2.7',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen/go',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'minimax-m3',
+ provider: 'opencode-go',
+ name: 'MiniMax-M3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen/go',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 0.3,
+ output: 1.2,
+ cacheRead: 0.06,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 512000,
+ input: 0.6,
+ output: 2.4,
+ cacheRead: 0.12,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ },
+ {
+ id: 'muse-spark-1.2-contributor',
+ provider: 'opencode-go',
+ name: 'Muse Spark 1.2 Contributor',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.2, cacheRead: 0.002, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'muse-spark-1.3-contributor',
+ provider: 'opencode-go',
+ name: 'Muse Spark 1.3 Contributor',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.2, cacheRead: 0.002, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'qwen3.6-plus',
+ provider: 'opencode-go',
+ name: 'Qwen3.6 Plus',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: {
+ input: 0.5,
+ output: 3,
+ cacheRead: 0.05,
+ cacheWrite: 0.625,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 2,
+ output: 6,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'qwen3.7-max',
+ provider: 'opencode-go',
+ name: 'Qwen3.7 Max',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 2.5, output: 7.5, cacheRead: 0.5, cacheWrite: 3.125 },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'qwen3.7-plus',
+ provider: 'opencode-go',
+ name: 'Qwen3.7 Plus',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: {
+ input: 0.4,
+ output: 1.6,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 1.2,
+ output: 4.8,
+ cacheRead: 0.12,
+ cacheWrite: 1.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'qwen3.8-flash',
+ provider: 'opencode-go',
+ name: 'Qwen3.8 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen/go',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: { input: 0.15, output: 0.47, cacheRead: 0.016, cacheWrite: 0.2 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ },
+ {
+ id: 'qwen3.8-max',
+ provider: 'opencode-go',
+ name: 'Qwen3.8 Max',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'space-bunny-free',
+ provider: 'opencode-go',
+ name: 'Space Bunny Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/go/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 524288,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/opencode.ts b/packages/ai-models/src/providers/opencode.ts
new file mode 100644
index 0000000000..39f311741f
--- /dev/null
+++ b/packages/ai-models/src/providers/opencode.ts
@@ -0,0 +1,2686 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** OpenCode Zen. */
+export const provider: ProviderRecord = {
+ id: 'opencode',
+ name: 'OpenCode Zen',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ apis: [
+ 'anthropic-messages',
+ 'google-generative-ai',
+ 'openai-completions',
+ 'openai-responses',
+ ],
+ env: [['OPENCODE_API_KEY']],
+}
+
+/** Every OpenCode Zen model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'big-pickle',
+ provider: 'opencode',
+ name: 'Big Pickle',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 32000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'claude-3-5-haiku',
+ provider: 'opencode',
+ name: 'Claude Haiku 3.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.8, output: 4, cacheRead: 0.08, cacheWrite: 1 },
+ contextWindow: 200000,
+ maxTokens: 8192,
+ },
+ {
+ id: 'claude-fable-5',
+ provider: 'opencode',
+ name: 'Claude Fable 5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'claude-fable-5-1',
+ provider: 'opencode',
+ name: 'Claude Fable 5.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'claude-haiku-4-5',
+ provider: 'opencode',
+ name: 'Claude Haiku 4.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'claude-opus-4-1',
+ provider: 'opencode',
+ name: 'Claude Opus 4.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 15, output: 75, cacheRead: 1.5, cacheWrite: 18.75 },
+ contextWindow: 200000,
+ maxTokens: 32000,
+ },
+ {
+ id: 'claude-opus-4-5',
+ provider: 'opencode',
+ name: 'Claude Opus 4.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'claude-opus-4-6',
+ provider: 'opencode',
+ name: 'Claude Opus 4.6',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', max: 'max' },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { forceAdaptiveThinking: true },
+ },
+ {
+ id: 'claude-opus-4-7',
+ provider: 'opencode',
+ name: 'Claude Opus 4.7',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'claude-opus-4-8',
+ provider: 'opencode',
+ name: 'Claude Opus 4.8',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'claude-opus-5',
+ provider: 'opencode',
+ name: 'Claude Opus 5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'claude-opus-5-5',
+ provider: 'opencode',
+ name: 'Claude Opus 5.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'claude-sonnet-4',
+ provider: 'opencode',
+ name: 'Claude Sonnet 4',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 3,
+ output: 15,
+ cacheRead: 0.3,
+ cacheWrite: 3.75,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 6,
+ output: 22.5,
+ cacheRead: 0.6,
+ cacheWrite: 7.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'claude-sonnet-4-5',
+ provider: 'opencode',
+ name: 'Claude Sonnet 4.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 3,
+ output: 15,
+ cacheRead: 0.3,
+ cacheWrite: 3.75,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 6,
+ output: 22.5,
+ cacheRead: 0.6,
+ cacheWrite: 7.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ },
+ {
+ id: 'claude-sonnet-4-6',
+ provider: 'opencode',
+ name: 'Claude Sonnet 4.6',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', max: 'max' },
+ budget: true,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: { forceAdaptiveThinking: true },
+ },
+ {
+ id: 'claude-sonnet-5',
+ provider: 'opencode',
+ name: 'Claude Sonnet 5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'claude-sonnet-5-5',
+ provider: 'opencode',
+ name: 'Claude Sonnet 5.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { supportsTemperature: false, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'deepseek-v4-flash',
+ provider: 'opencode',
+ name: 'DeepSeek V4 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.028, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-v4-flash-free',
+ provider: 'opencode',
+ name: 'DeepSeek V4 Flash Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 128000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-v4-flash-vision-exp',
+ provider: 'opencode',
+ name: 'DeepSeek V4 Flash Vision Exp',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.028, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-v4-pro',
+ provider: 'opencode',
+ name: 'DeepSeek V4 Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.74, output: 3.84, cacheRead: 0.145, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-v4.1-flash',
+ provider: 'opencode',
+ name: 'DeepSeek V4.1 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.006, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'deepseek',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'gemini-3-flash',
+ provider: 'opencode',
+ name: 'Gemini 3 Flash',
+ api: 'google-generative-ai',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 3, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3-pro',
+ provider: 'opencode',
+ name: 'Gemini 3 Pro',
+ api: 'google-generative-ai',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: { levels: { low: 'low', high: 'high' }, budget: false },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.1-pro',
+ provider: 'opencode',
+ name: 'Gemini 3.1 Pro Preview',
+ api: 'google-generative-ai',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.5-flash',
+ provider: 'opencode',
+ name: 'Gemini 3.5 Flash',
+ api: 'google-generative-ai',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 9, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.5-flash-lite',
+ provider: 'opencode',
+ name: 'Gemini 3.5 Flash Lite',
+ api: 'google-generative-ai',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.6-flash',
+ provider: 'opencode',
+ name: 'Gemini 3.6 Flash',
+ api: 'google-generative-ai',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 7.5, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.7-flash',
+ provider: 'opencode',
+ name: 'Gemini 3.7 Flash',
+ api: 'google-generative-ai',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 7.5, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'gemini-3.8-flash',
+ provider: 'opencode',
+ name: 'Gemini 3.8 Flash',
+ api: 'google-generative-ai',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 7.5, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ },
+ {
+ id: 'glm-4.6',
+ provider: 'opencode',
+ name: 'GLM-4.6',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'glm-4.7',
+ provider: 'opencode',
+ name: 'GLM-4.7',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'glm-4.7-free',
+ provider: 'opencode',
+ name: 'GLM-4.7 Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'glm-5',
+ provider: 'opencode',
+ name: 'GLM-5',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1, output: 3.2, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'glm-5-free',
+ provider: 'opencode',
+ name: 'GLM-5 Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'glm-5.1',
+ provider: 'opencode',
+ name: 'GLM-5.1',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'glm-5.2',
+ provider: 'opencode',
+ name: 'GLM-5.2',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: { levels: { high: 'high', max: 'max' }, budget: false },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'glm-5.3',
+ provider: 'opencode',
+ name: 'GLM-5.3',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'glm-5.3-flash',
+ provider: 'opencode',
+ name: 'GLM-5.3-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'gpt-5',
+ provider: 'opencode',
+ name: 'GPT-5',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.07, output: 8.5, cacheRead: 0.107, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5-codex',
+ provider: 'opencode',
+ name: 'GPT-5 Codex',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.07, output: 8.5, cacheRead: 0.107, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5-nano',
+ provider: 'opencode',
+ name: 'GPT-5 Nano',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.05, output: 0.4, cacheRead: 0.005, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.1',
+ provider: 'opencode',
+ name: 'GPT-5.1',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.07, output: 8.5, cacheRead: 0.107, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.1-codex',
+ provider: 'opencode',
+ name: 'GPT-5.1 Codex',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.07, output: 8.5, cacheRead: 0.107, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.1-codex-max',
+ provider: 'opencode',
+ name: 'GPT-5.1 Codex Max',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.1-codex-mini',
+ provider: 'opencode',
+ name: 'GPT-5.1 Codex Mini',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 2, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.2',
+ provider: 'opencode',
+ name: 'GPT-5.2',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.2-codex',
+ provider: 'opencode',
+ name: 'GPT-5.2 Codex',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.3-codex',
+ provider: 'opencode',
+ name: 'GPT-5.3 Codex',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.3-codex-spark',
+ provider: 'opencode',
+ name: 'GPT-5.3 Codex Spark',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.4',
+ provider: 'opencode',
+ name: 'GPT-5.4',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2.5,
+ output: 15,
+ cacheRead: 0.25,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 5,
+ output: 22.5,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'gpt-5.4-mini',
+ provider: 'opencode',
+ name: 'GPT-5.4 Mini',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 4.5, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.4-nano',
+ provider: 'opencode',
+ name: 'GPT-5.4 Nano',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 1.25, cacheRead: 0.02, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.4-pro',
+ provider: 'opencode',
+ name: 'GPT-5.4 Pro',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 30, output: 180, cacheRead: 30, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.5',
+ provider: 'opencode',
+ name: 'GPT-5.5',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 5,
+ output: 30,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 10,
+ output: 45,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.5-pro',
+ provider: 'opencode',
+ name: 'GPT-5.5 Pro',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 30, output: 180, cacheRead: 30, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.6-luna',
+ provider: 'opencode',
+ name: 'GPT-5.6 Luna',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.2,
+ output: 1.2,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.4,
+ output: 1.8,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.6-sol',
+ provider: 'opencode',
+ name: 'GPT-5.6 Sol',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 4,
+ output: 20,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 8,
+ output: 30,
+ cacheRead: 0.8,
+ cacheWrite: 10,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-5.6-terra',
+ provider: 'opencode',
+ name: 'GPT-5.6 Terra',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2.5,
+ output: 15,
+ cacheRead: 0.25,
+ cacheWrite: 3.125,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 5,
+ output: 22.5,
+ cacheRead: 0.5,
+ cacheWrite: 6.25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-6-astra',
+ provider: 'opencode',
+ name: 'GPT-6 Astra',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 10,
+ output: 50,
+ cacheRead: 1,
+ cacheWrite: 12.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 20,
+ output: 75,
+ cacheRead: 2,
+ cacheWrite: 25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-6-luna',
+ provider: 'opencode',
+ name: 'GPT-6 Luna',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.1,
+ output: 0.5,
+ cacheRead: 0.01,
+ cacheWrite: 0.125,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.2,
+ output: 0.75,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-6-sol',
+ provider: 'opencode',
+ name: 'GPT-6 Sol',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'gpt-6.1-sol',
+ provider: 'opencode',
+ name: 'GPT-6.1 Sol',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.1,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.2,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ sessionAffinityFormat: 'openai-nosession',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'grok-4.5',
+ provider: 'opencode',
+ name: 'Grok 4.5',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.3,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 0.6,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'grok-4.6',
+ provider: 'opencode',
+ name: 'Grok 4.6',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'grok-4.7',
+ provider: 'opencode',
+ name: 'Grok 4.7',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'grok-build-0.1',
+ provider: 'opencode',
+ name: 'Grok Build 0.1',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 2, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'grok-code',
+ provider: 'opencode',
+ name: 'Grok Code Fast 1',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'hy3-free',
+ provider: 'opencode',
+ name: 'Hy3 Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 190000,
+ maxTokens: 64000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'hy3-preview-free',
+ provider: 'opencode',
+ name: 'Hy3 preview Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 64000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'kimi-k2',
+ provider: 'opencode',
+ name: 'Kimi K2',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.4, output: 2.5, cacheRead: 0.4, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'kimi-k2-thinking',
+ provider: 'opencode',
+ name: 'Kimi K2 Thinking',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.4, output: 2.5, cacheRead: 0.4, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'kimi-k2.5',
+ provider: 'opencode',
+ name: 'Kimi K2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 3, cacheRead: 0.08, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'kimi-k2.5-free',
+ provider: 'opencode',
+ name: 'Kimi K2.5 Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'kimi-k2.6',
+ provider: 'opencode',
+ name: 'Kimi K2.6',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'kimi-k2.7-code',
+ provider: 'opencode',
+ name: 'Kimi K2.7 Code',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.19, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'kimi-k3',
+ provider: 'opencode',
+ name: 'Kimi K3',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { max: 'max' }, budget: false },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'laguna-s-2.1-free',
+ provider: 'opencode',
+ name: 'Laguna S 2.1 Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 32000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'ling-2.6-flash-free',
+ provider: 'opencode',
+ name: 'Ling 2.6 Flash Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262100,
+ maxTokens: 32800,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'ling-3.0-flash-fin-free',
+ provider: 'opencode',
+ name: 'Ling 3.0 Flash Fin Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'ling-3.0-flash-free',
+ provider: 'opencode',
+ name: 'Ling-3.0-flash Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'ling-3.0-tiny-free',
+ provider: 'opencode',
+ name: 'Ling-3.0-tiny Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'longcat-2.0-free',
+ provider: 'opencode',
+ name: 'LongCat-2.0 Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'longcat-2.5-preview-free',
+ provider: 'opencode',
+ name: 'LongCat 2.5 Preview Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'mimo-v2-flash-free',
+ provider: 'opencode',
+ name: 'MiMo V2 Flash Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'mimo-v2-omni-free',
+ provider: 'opencode',
+ name: 'MiMo V2 Omni Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 64000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'mimo-v2-pro-free',
+ provider: 'opencode',
+ name: 'MiMo V2 Pro Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 64000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'mimo-v2.5-free',
+ provider: 'opencode',
+ name: 'MiMo V2.5 Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 32000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'mimo-v2.6-flash-free',
+ provider: 'opencode',
+ name: 'MiMo-V2.6-Flash Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 32000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'minimax-m2.1',
+ provider: 'opencode',
+ name: 'MiniMax-M2.1',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'minimax-m2.1-free',
+ provider: 'opencode',
+ name: 'MiniMax-M2.1 Free',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'minimax-m2.5',
+ provider: 'opencode',
+ name: 'MiniMax-M2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'minimax-m2.5-free',
+ provider: 'opencode',
+ name: 'MiniMax-M2.5 Free',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ },
+ {
+ id: 'minimax-m2.7',
+ provider: 'opencode',
+ name: 'MiniMax-M2.7',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'minimax-m3',
+ provider: 'opencode',
+ name: 'MiniMax-M3',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 512000,
+ maxTokens: 128000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'minimax-m3-free',
+ provider: 'opencode',
+ name: 'MiniMax-M3 Free',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 32000,
+ },
+ {
+ id: 'muse-spark-1.2',
+ provider: 'opencode',
+ name: 'Muse Spark 1.2',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'muse-spark-1.2-contributor-free',
+ provider: 'opencode',
+ name: 'Muse Spark 1.2 Free',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'muse-spark-1.3',
+ provider: 'opencode',
+ name: 'Muse Spark 1.3',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'muse-spark-1.3-contributor-free',
+ provider: 'opencode',
+ name: 'Muse Spark 1.3 Free',
+ api: 'openai-responses',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { sessionAffinityFormat: 'openai-nosession' },
+ },
+ {
+ id: 'nemotron-3-super-free',
+ provider: 'opencode',
+ name: 'Nemotron 3 Super Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 128000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'nemotron-3-ultra-free',
+ provider: 'opencode',
+ name: 'Nemotron 3 Ultra Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'nemotron-3.5-lightning-free',
+ provider: 'opencode',
+ name: 'Nemotron 3.5 Lightning Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'north-mini-code-free',
+ provider: 'opencode',
+ name: 'North Mini Code Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 64000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'qwen3-coder',
+ provider: 'opencode',
+ name: 'Qwen3 Coder',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.45, output: 1.8, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'qwen3.5-plus',
+ provider: 'opencode',
+ name: 'Qwen3.5 Plus',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.2, output: 1.2, cacheRead: 0.02, cacheWrite: 0.25 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ },
+ {
+ id: 'qwen3.6-plus',
+ provider: 'opencode',
+ name: 'Qwen3.6 Plus',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.5, output: 3, cacheRead: 0.05, cacheWrite: 0.625 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ },
+ {
+ id: 'qwen3.6-plus-free',
+ provider: 'opencode',
+ name: 'Qwen3.6 Plus Free',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ },
+ {
+ id: 'qwen3.8-flash',
+ provider: 'opencode',
+ name: 'Qwen3.8 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://opencode.ai/zen',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: { input: 0.15, output: 0.47, cacheRead: 0.016, cacheWrite: 0.2 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ },
+ {
+ id: 'qwen3.8-max',
+ provider: 'opencode',
+ name: 'Qwen3.8 Max',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 2.5 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'ring-2.6-1t-free',
+ provider: 'opencode',
+ name: 'Ring 2.6 1T Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262000,
+ maxTokens: 66000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'space-bunny-free',
+ provider: 'opencode',
+ name: 'Space Bunny Free',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 524288,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'trinity-large-preview-free',
+ provider: 'opencode',
+ name: 'Trinity Large Preview',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ },
+ },
+ {
+ id: 'x-preview-f-free',
+ provider: 'opencode',
+ name: 'Ox Alpha Free (Unlimited)',
+ api: 'openai-completions',
+ baseUrl: 'https://opencode.ai/zen/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/openrouter.ts b/packages/ai-models/src/providers/openrouter.ts
new file mode 100644
index 0000000000..9a39d8ee23
--- /dev/null
+++ b/packages/ai-models/src/providers/openrouter.ts
@@ -0,0 +1,11621 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** OpenRouter. */
+export const provider: ProviderRecord = {
+ id: 'openrouter',
+ name: 'OpenRouter',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ apis: ['anthropic-messages', 'openai-completions'],
+ env: [['OPENROUTER_API_KEY']],
+}
+
+/** Every OpenRouter model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: '~anthropic/claude-fable-latest',
+ provider: 'openrouter',
+ name: 'Claude Fable Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: '~anthropic/claude-haiku-latest',
+ provider: 'openrouter',
+ name: 'Claude Haiku Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: '~anthropic/claude-opus-latest',
+ provider: 'openrouter',
+ name: 'Claude Opus Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: '~anthropic/claude-sonnet-latest',
+ provider: 'openrouter',
+ name: 'Claude Sonnet Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: '~deepseek/deepseek-flash-latest',
+ provider: 'openrouter',
+ name: 'DeepSeek Flash Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.0198, output: 0.396, cacheRead: 0.00291, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: '~deepseek/deepseek-pro-latest',
+ provider: 'openrouter',
+ name: 'DeepSeek Pro Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.123, output: 3.5, cacheRead: 0.123, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 393216,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: '~deepseek/deepseek-v4-flash-latest',
+ provider: 'openrouter',
+ name: 'DeepSeek V4 Flash Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: {
+ input: 0.0099,
+ output: 0.13068,
+ cacheRead: 0.001386,
+ cacheWrite: 0,
+ },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: '~google/gemini-flash-latest',
+ provider: 'openrouter',
+ name: 'Gemini Flash Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0.041667 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: '~google/gemini-pro-latest',
+ provider: 'openrouter',
+ name: 'Gemini Pro Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 0.375,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 0.375,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: '~moonshotai/kimi-latest',
+ provider: 'openrouter',
+ name: 'Kimi Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.3654, output: 9.1343, cacheRead: 0.4, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: '~openai/gpt-astra-latest',
+ provider: 'openrouter',
+ name: 'GPT Astra Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 10,
+ output: 50,
+ cacheRead: 1,
+ cacheWrite: 12.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 20,
+ output: 75,
+ cacheRead: 2,
+ cacheWrite: 25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: '~openai/gpt-luna-latest',
+ provider: 'openrouter',
+ name: 'GPT Luna Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.1,
+ output: 0.5,
+ cacheRead: 0.01,
+ cacheWrite: 0.125,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.2,
+ output: 0.75,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: '~openai/gpt-mini-latest',
+ provider: 'openrouter',
+ name: 'GPT Mini Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 4.5, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: '~openai/gpt-sol-latest',
+ provider: 'openrouter',
+ name: 'GPT Sol Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.1,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.2,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: '~openai/gpt-terra-latest',
+ provider: 'openrouter',
+ name: 'GPT Terra Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: '~x-ai/grok-latest',
+ provider: 'openrouter',
+ name: 'Grok Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 450000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: '~z-ai/glm-flash-latest',
+ provider: 'openrouter',
+ name: 'GLM Flash Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.02, output: 0.2475, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: '~z-ai/glm-latest',
+ provider: 'openrouter',
+ name: 'GLM Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.13, output: 4, cacheRead: 0.13, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'aion-labs/aion-2.0',
+ provider: 'openrouter',
+ name: 'Aion-2.0',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.8, output: 1.6, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'aion-labs/aion-3.0',
+ provider: 'openrouter',
+ name: 'Aion-3.0',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 3, output: 6, cacheRead: 0.75, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'aion-labs/aion-3.0-mini',
+ provider: 'openrouter',
+ name: 'Aion-3.0-Mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.7, output: 1.4, cacheRead: 0.18, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'aion-labs/aion-3.5',
+ provider: 'openrouter',
+ name: 'Aion 3.5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 3, output: 6, cacheRead: 0.75, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'aion-labs/aion-3.5-mini',
+ provider: 'openrouter',
+ name: 'Aion 3.5 Mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.7, output: 1.4, cacheRead: 0.18, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'aion-labs/aion-rp-llama-3.1-8b',
+ provider: 'openrouter',
+ name: 'Aion-RP 1.0 (8B)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.8, output: 1.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 29491,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'amazon/nova-2-lite-v1',
+ provider: 'openrouter',
+ name: 'Nova 2 Lite',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 65535,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'amazon/nova-lite-v1',
+ provider: 'openrouter',
+ name: 'Nova Lite 1.0',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.06, output: 0.24, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 300000,
+ maxTokens: 5120,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'amazon/nova-micro-v1',
+ provider: 'openrouter',
+ name: 'Nova Micro 1.0',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.035, output: 0.14, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 5120,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'amazon/nova-premier-v1',
+ provider: 'openrouter',
+ name: 'Nova Premier 1.0',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2.5, output: 12.5, cacheRead: 0.625, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 32000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'amazon/nova-pro-v1',
+ provider: 'openrouter',
+ name: 'Nova Pro 1.0',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.8, output: 3.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 300000,
+ maxTokens: 5120,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'anthracite-org/magnum-v4-72b',
+ provider: 'openrouter',
+ name: 'Magnum v4 72B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 2.5, output: 5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 4096,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'anthropic/claude-3-haiku',
+ provider: 'openrouter',
+ name: 'Claude Haiku 3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.25, output: 1.25, cacheRead: 0.03, cacheWrite: 0.3 },
+ contextWindow: 200000,
+ maxTokens: 4096,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ },
+ borrowedFrom: 'vercel/anthropic/claude-3-haiku',
+ },
+ {
+ id: 'anthropic/claude-fable-5',
+ provider: 'openrouter',
+ name: 'Claude Fable 5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-fable-5:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Fable 5 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'anthropic/claude-fable-5.1',
+ provider: 'openrouter',
+ name: 'Claude Fable 5.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ supportsMidConvoEffort: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-fable-5.1:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Fable 5.1 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.125, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'anthropic/claude-haiku-4.5',
+ provider: 'openrouter',
+ name: 'Claude Haiku 4.5 (latest)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ },
+ },
+ {
+ id: 'anthropic/claude-haiku-4.5:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Haiku 4.5 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 2.5, cacheRead: 0.05, cacheWrite: 0.625 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-4.1',
+ provider: 'openrouter',
+ name: 'Claude Opus 4.1 (latest)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 15, output: 75, cacheRead: 1.5, cacheWrite: 18.75 },
+ contextWindow: 200000,
+ maxTokens: 32000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-4.1:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Opus 4.1 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 7.5, output: 37.5, cacheRead: 0.75, cacheWrite: 9.375 },
+ contextWindow: 200000,
+ maxTokens: 32000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-4.5',
+ provider: 'openrouter',
+ name: 'Claude Opus 4.5 (latest)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-4.5:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Opus 4.5 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 12.5, cacheRead: 0.25, cacheWrite: 3.125 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-4.6',
+ provider: 'openrouter',
+ name: 'Claude Opus 4.6',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 5,
+ output: 25,
+ cacheRead: 0.5,
+ cacheWrite: 6.25,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 10,
+ output: 37.5,
+ cacheRead: 1,
+ cacheWrite: 12.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-4.6:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Opus 4.6 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 12.5, cacheRead: 0.25, cacheWrite: 3.125 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-4.7',
+ provider: 'openrouter',
+ name: 'Claude Opus 4.7',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 5,
+ output: 25,
+ cacheRead: 0.5,
+ cacheWrite: 6.25,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 10,
+ output: 37.5,
+ cacheRead: 1,
+ cacheWrite: 12.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-4.7:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Opus 4.7 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 12.5, cacheRead: 0.25, cacheWrite: 3.125 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-4.8',
+ provider: 'openrouter',
+ name: 'Claude Opus 4.8',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-4.8:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Opus 4.8 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 12.5, cacheRead: 0.25, cacheWrite: 3.125 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-5',
+ provider: 'openrouter',
+ name: 'Claude Opus 5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-5:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Opus 5 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 12.5, cacheRead: 0.25, cacheWrite: 3.125 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-5.5',
+ provider: 'openrouter',
+ name: 'Claude Opus 5.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ supportsMidConvoEffort: true,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-5.5:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Opus 5.5 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'anthropic/claude-sonnet-4',
+ provider: 'openrouter',
+ name: 'Claude Sonnet 4',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 3,
+ output: 15,
+ cacheRead: 0.3,
+ cacheWrite: 3.75,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 6,
+ output: 22.5,
+ cacheRead: 0.6,
+ cacheWrite: 7.5,
+ },
+ ],
+ },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ },
+ },
+ {
+ id: 'anthropic/claude-sonnet-4.5',
+ provider: 'openrouter',
+ name: 'Claude Sonnet 4.5 (latest)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 3,
+ output: 15,
+ cacheRead: 0.3,
+ cacheWrite: 3.75,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 6,
+ output: 22.5,
+ cacheRead: 0.6,
+ cacheWrite: 7.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ },
+ },
+ {
+ id: 'anthropic/claude-sonnet-4.5:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Sonnet 4.5 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 7.5, cacheRead: 0.15, cacheWrite: 1.875 },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ },
+ },
+ {
+ id: 'anthropic/claude-sonnet-4.6',
+ provider: 'openrouter',
+ name: 'Claude Sonnet 4.6',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 3,
+ output: 15,
+ cacheRead: 0.3,
+ cacheWrite: 3.75,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 6,
+ output: 22.5,
+ cacheRead: 0.6,
+ cacheWrite: 7.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-sonnet-4.6:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Sonnet 4.6 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 7.5, cacheRead: 0.15, cacheWrite: 1.875 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ },
+ },
+ {
+ id: 'anthropic/claude-sonnet-5',
+ provider: 'openrouter',
+ name: 'Claude Sonnet 5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-sonnet-5:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Sonnet 5 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'anthropic/claude-sonnet-5.5',
+ provider: 'openrouter',
+ name: 'Claude Sonnet 5.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-sonnet-5.5:batch',
+ provider: 'openrouter',
+ name: 'Anthropic: Claude Sonnet 5.5 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ cacheControlFormat: 'anthropic',
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'apodex/apodex-1.1-mini:free',
+ provider: 'openrouter',
+ name: 'Apodex: Apodex 1.1 Mini (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'arcee-ai/trinity-large-thinking',
+ provider: 'openrouter',
+ name: 'Trinity Large Thinking',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 0.8, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 80000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'auto',
+ provider: 'openrouter',
+ name: 'Auto Router',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 2000000,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ borrowedFrom: 'kilo/openrouter/auto',
+ },
+ {
+ id: 'baidu/ernie-4.5-vl-424b-a47b',
+ provider: 'openrouter',
+ name: 'ERNIE 4.5 VL 424B A47B ',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.42, output: 1.25, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 123000,
+ maxTokens: 16000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'bytedance-seed/seed-1.6',
+ provider: 'openrouter',
+ name: 'Seed 1.6',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 0.25,
+ output: 2,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 128000,
+ input: 0.5,
+ output: 4,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'bytedance-seed/seed-1.6-flash',
+ provider: 'openrouter',
+ name: 'Seed 1.6 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 0.075,
+ output: 0.3,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 128000,
+ input: 0.1,
+ output: 0.8,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'bytedance-seed/seed-2-1-turbo',
+ provider: 'openrouter',
+ name: 'Seed 2.1 Turbo',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.5, output: 2.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'bytedance-seed/seed-2.0-code',
+ provider: 'openrouter',
+ name: 'Seed 2.0 Code',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 0.5,
+ output: 3,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 128000,
+ input: 1,
+ output: 6,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'bytedance-seed/seed-2.0-lite',
+ provider: 'openrouter',
+ name: 'Seed 2.0 Lite',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.25,
+ output: 2,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 128000,
+ input: 0.5,
+ output: 4,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'bytedance-seed/seed-2.0-mini',
+ provider: 'openrouter',
+ name: 'Seed 2.0 Mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.1,
+ output: 0.4,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 128000,
+ input: 0.2,
+ output: 0.8,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'bytedance/ui-tars-1.5-7b',
+ provider: 'openrouter',
+ name: 'UI-TARS 7B ',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.2, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 2048,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'cognitivecomputations/dolphin-mistral-24b-venice-edition',
+ provider: 'openrouter',
+ name: 'Uncensored',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.2, output: 0.9, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'cohere/command-a',
+ provider: 'openrouter',
+ name: 'Command A',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 8192,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'cohere/command-a-plus',
+ provider: 'openrouter',
+ name: 'Command A+',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.3, output: 1.5, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 192000,
+ maxTokens: 64000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'cohere/command-r-08-2024',
+ provider: 'openrouter',
+ name: 'Command R',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'cohere/command-r-plus-08-2024',
+ provider: 'openrouter',
+ name: 'Command R+',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'cohere/command-r7b-12-2024',
+ provider: 'openrouter',
+ name: 'Command R7B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.0375, output: 0.15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'cohere/north-mini-code:free',
+ provider: 'openrouter',
+ name: 'North Mini Code (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 64000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-chat',
+ provider: 'openrouter',
+ name: 'DeepSeek Chat',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.2574, output: 1.0287, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 16000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-chat-v3-0324',
+ provider: 'openrouter',
+ name: 'DeepSeek V3 0324',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.29, output: 1.14, cacheRead: 0.11, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 147456,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-chat-v3.1',
+ provider: 'openrouter',
+ name: 'DeepSeek V3.1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.25, output: 0.95, cacheRead: 0.13, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-r1',
+ provider: 'openrouter',
+ name: 'DeepSeek-R1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.7, output: 2.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 64000,
+ maxTokens: 16000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-r1-0528',
+ provider: 'openrouter',
+ name: 'R1 0528',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 2.15, cacheRead: 0.35, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-v3.1-terminus',
+ provider: 'openrouter',
+ name: 'DeepSeek V3.1 Terminus',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.3, output: 1, cacheRead: 0.135, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-v3.2',
+ provider: 'openrouter',
+ name: 'DeepSeek V3.2',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.28, output: 0.42, cacheRead: 0.028, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-v3.2-exp',
+ provider: 'openrouter',
+ name: 'DeepSeek V3.2 Exp',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.27, output: 0.41, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 147456,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-v4-flash',
+ provider: 'openrouter',
+ name: 'DeepSeek V4 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.028, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-v4-flash-0731',
+ provider: 'openrouter',
+ name: 'DeepSeek V4 Flash 0731',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.01, output: 1.28, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-v4-flash-vision-exp',
+ provider: 'openrouter',
+ name: 'DeepSeek V4 Flash Vision Exp',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.2156, output: 0.6468, cacheRead: 0.00686, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 262144,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-v4-pro',
+ provider: 'openrouter',
+ name: 'DeepSeek V4 Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0.783, output: 1.566, cacheRead: 0.06525, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-v4-pro-0813',
+ provider: 'openrouter',
+ name: 'DeepSeek V4 Pro 0813',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.66, output: 1.98, cacheRead: 0.022, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 393216,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-v4.1-flash',
+ provider: 'openrouter',
+ name: 'DeepSeek V4.1 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.0198, output: 0.396, cacheRead: 0.00291, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'deepseek/deepseek-v4.1-flash:batch',
+ provider: 'openrouter',
+ name: 'DeepSeek: DeepSeek V4.1 Flash (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.112, output: 0.336, cacheRead: 0.00336, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'dots-studio/dots-3-note-preview:free',
+ provider: 'openrouter',
+ name: 'Dots3-Note Preview (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 512000,
+ maxTokens: 460800,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'fireworks/ember-1',
+ provider: 'openrouter',
+ name: 'Ember-1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-2.5-flash',
+ provider: 'openrouter',
+ name: 'Gemini 2.5 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.03, cacheWrite: 0.083333 },
+ contextWindow: 1048576,
+ maxTokens: 65535,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-2.5-flash-image',
+ provider: 'openrouter',
+ name: 'Nano Banana',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.03, cacheWrite: 0.083333 },
+ contextWindow: 32768,
+ maxTokens: 8192,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-2.5-flash-lite',
+ provider: 'openrouter',
+ name: 'Gemini 2.5 Flash-Lite',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.1, output: 0.4, cacheRead: 0.01, cacheWrite: 0.083333 },
+ contextWindow: 1048576,
+ maxTokens: 65535,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-2.5-flash-lite:batch',
+ provider: 'openrouter',
+ name: 'Google: Gemini 2.5 Flash Lite (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.05, output: 0.2, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65535,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-2.5-flash:batch',
+ provider: 'openrouter',
+ name: 'Google: Gemini 2.5 Flash (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 1.25, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65535,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-2.5-pro',
+ provider: 'openrouter',
+ name: 'Gemini 2.5 Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 1.25,
+ output: 10,
+ cacheRead: 0.125,
+ cacheWrite: 0.375,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 15,
+ cacheRead: 0.25,
+ cacheWrite: 0.375,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-2.5-pro-preview',
+ provider: 'openrouter',
+ name: 'Gemini 2.5 Pro Preview 06-05',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 1.25,
+ output: 10,
+ cacheRead: 0.125,
+ cacheWrite: 0.375,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 15,
+ cacheRead: 0.25,
+ cacheWrite: 0.375,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-2.5-pro:batch',
+ provider: 'openrouter',
+ name: 'Google: Gemini 2.5 Pro (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.625, output: 5, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3-flash-preview',
+ provider: 'openrouter',
+ name: 'Gemini 3 Flash Preview',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 3, cacheRead: 0.05, cacheWrite: 0.083333 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3-flash-preview:batch',
+ provider: 'openrouter',
+ name: 'Google: Gemini 3 Flash Preview (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3-pro-image',
+ provider: 'openrouter',
+ name: 'Nano Banana Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 12, cacheRead: 0.2, cacheWrite: 0.375 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3-pro-image-preview',
+ provider: 'openrouter',
+ name: 'Nano Banana Pro Preview',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 12, cacheRead: 0.2, cacheWrite: 0.375 },
+ contextWindow: 65536,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.1-flash-image',
+ provider: 'openrouter',
+ name: 'Nano Banana 2',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', minimal: 'minimal', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.1-flash-image-preview',
+ provider: 'openrouter',
+ name: 'Nano Banana 2 Preview',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', minimal: 'minimal', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 58982,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.1-flash-lite',
+ provider: 'openrouter',
+ name: 'Gemini 3.1 Flash Lite',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 1.5, cacheRead: 0.025, cacheWrite: 0.083333 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.1-flash-lite-image',
+ provider: 'openrouter',
+ name: 'Nano Banana 2 Lite',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', minimal: 'minimal', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 58982,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.1-flash-lite-preview',
+ provider: 'openrouter',
+ name: 'Gemini 3.1 Flash Lite Preview',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 1.5, cacheRead: 0.025, cacheWrite: 0.083333 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.1-flash-lite:batch',
+ provider: 'openrouter',
+ name: 'Google: Gemini 3.1 Flash Lite (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.125, output: 0.75, cacheRead: 0.0125, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.1-pro-preview',
+ provider: 'openrouter',
+ name: 'Gemini 3.1 Pro Preview',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 0.375,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 0.375,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.1-pro-preview-customtools',
+ provider: 'openrouter',
+ name: 'Gemini 3.1 Pro Preview Custom Tools',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 0.375,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 0.375,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.1-pro-preview:batch',
+ provider: 'openrouter',
+ name: 'Google: Gemini 3.1 Pro Preview (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1, output: 6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.5-flash',
+ provider: 'openrouter',
+ name: 'Gemini 3.5 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 9, cacheRead: 0.15, cacheWrite: 0.083333 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.5-flash-lite',
+ provider: 'openrouter',
+ name: 'Gemini 3.5 Flash Lite',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.03, cacheWrite: 0.083333 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.5-flash-lite:batch',
+ provider: 'openrouter',
+ name: 'Google: Gemini 3.5 Flash Lite (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 1.25, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.5-flash:batch',
+ provider: 'openrouter',
+ name: 'Google: Gemini 3.5 Flash (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 4.5, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.6-flash',
+ provider: 'openrouter',
+ name: 'Gemini 3.6 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0.041667 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.6-flash:batch',
+ provider: 'openrouter',
+ name: 'Google: Gemini 3.6 Flash (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.375,
+ output: 1.875,
+ cacheRead: 0.0375,
+ cacheWrite: 0.041667,
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.7-flash',
+ provider: 'openrouter',
+ name: 'Gemini 3.7 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0.041667 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.7-flash:batch',
+ provider: 'openrouter',
+ name: 'Google: Gemini 3.7 Flash (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 0.375,
+ output: 1.875,
+ cacheRead: 0.0375,
+ cacheWrite: 0.041667,
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.8-flash',
+ provider: 'openrouter',
+ name: 'Gemini 3.8 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0.041667 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemini-3.8-flash:batch',
+ provider: 'openrouter',
+ name: 'Google: Gemini 3.8 Flash (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 0.375,
+ output: 1.875,
+ cacheRead: 0.0375,
+ cacheWrite: 0.041667,
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'google/gemini-nano-banana-2.1',
+ provider: 'openrouter',
+ name: 'Google: Nano Banana 2.1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { minimal: 'minimal', high: 'high' }, budget: false },
+ cost: { input: 1.5, output: 7.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 58982,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemma-2-27b-it',
+ provider: 'openrouter',
+ name: 'Gemma 2 27B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.65, output: 0.65, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 2048,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemma-3-12b-it',
+ provider: 'openrouter',
+ name: 'Gemma 3 12B IT',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.05, output: 0.15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemma-3-27b-it',
+ provider: 'openrouter',
+ name: 'Gemma 3 27B IT',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.08, output: 0.45, cacheRead: 0.04, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemma-3-4b-it',
+ provider: 'openrouter',
+ name: 'Gemma 3 4B IT',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.05, output: 0.1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemma-4-26b-a4b-it',
+ provider: 'openrouter',
+ name: 'Gemma 4 26B A4B IT',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.09, output: 0.3, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemma-4-26b-a4b-it:free',
+ provider: 'openrouter',
+ name: 'Gemma 4 26B A4B (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemma-4-31b-it',
+ provider: 'openrouter',
+ name: 'Gemma 4 31B IT',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.09, output: 0.34, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/gemma-4-31b-it:free',
+ provider: 'openrouter',
+ name: 'Gemma 4 31B (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/lyria-3-clip-preview',
+ provider: 'openrouter',
+ name: 'Lyria 3 Clip Preview',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'google/lyria-3-pro-preview',
+ provider: 'openrouter',
+ name: 'Lyria 3 Pro Preview',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'gryphe/mythomax-l2-13b',
+ provider: 'openrouter',
+ name: 'MythoMax 13B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.08, output: 0.11, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 3686,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'ibm-granite/granite-4.0-h-micro',
+ provider: 'openrouter',
+ name: 'Granite 4.0 Micro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.017, output: 0.112, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131000,
+ maxTokens: 117900,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'ibm-granite/granite-4.2-8b',
+ provider: 'openrouter',
+ name: 'Granite 4.2 8B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.06, output: 0.25, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'inception/mercury-2',
+ provider: 'openrouter',
+ name: 'Mercury 2',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 0.75, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 50000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'inception/mercury-2.5',
+ provider: 'openrouter',
+ name: 'Mercury 2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.04, output: 0.15, cacheRead: 0.004, cacheWrite: 0 },
+ contextWindow: 260000,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'inclusionai/ling-3.0-flash',
+ provider: 'openrouter',
+ name: 'Ling 3.0 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.021, output: 0.063, cacheRead: 0.0042, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'inclusionai/ling-3.0-flash-fin',
+ provider: 'openrouter',
+ name: 'Ling 3.0 Flash Fin',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.06, output: 0.18, cacheRead: 0.012, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'inclusionai/ling-3.0-flash-fin:free',
+ provider: 'openrouter',
+ name: 'inclusionAI: Ling 3.0 Flash Fin',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.075, output: 0.22, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ borrowedFrom: 'kilo/inclusionai/ling-3.0-flash-fin',
+ },
+ {
+ id: 'inclusionai/ling-3.0-flash-sante:free',
+ provider: 'openrouter',
+ name: 'Ling 3.0 Flash Sante (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'inclusionai/ling-3.0-flash-vl',
+ provider: 'openrouter',
+ name: 'Ling 3.0 Flash VL',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.021, output: 0.0616, cacheRead: 0.0042, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'inclusionai/ling-3.0-flash-vl:free',
+ provider: 'openrouter',
+ name: 'Ling 3.0 Flash VL',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.06, output: 0.18, cacheRead: 0.012, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ borrowedFrom: 'nano-gpt/inclusionai/ling-3.0-flash-vl',
+ },
+ {
+ id: 'inclusionai/ling-3.1-flash',
+ provider: 'openrouter',
+ name: 'inclusionAI: Ling 3.1 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'inference-net/schematron-v2-small',
+ provider: 'openrouter',
+ name: 'Schematron V2 Small',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.05, output: 0.23, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'inference-net/schematron-v2-turbo',
+ provider: 'openrouter',
+ name: 'Schematron V2 Turbo',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.03, output: 0.15, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'kwaipilot/kat-coder-pro-v2.5',
+ provider: 'openrouter',
+ name: 'KAT-Coder-Pro V2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.74, output: 2.96, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'liquid/lfm-2.5-2.6b:free',
+ provider: 'openrouter',
+ name: 'LFM2.5-2.6B (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 8192,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mancer/weaver',
+ provider: 'openrouter',
+ name: 'Weaver (alpha)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.4, output: 0.75, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8000,
+ maxTokens: 6000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meituan/longcat-2.0',
+ provider: 'openrouter',
+ name: 'LongCat 2.0',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.006, cacheWrite: 0 },
+ contextWindow: 1048756,
+ maxTokens: 262144,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta-llama/llama-3.1-70b-instruct',
+ provider: 'openrouter',
+ name: 'Llama-3.1-70B-Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.4, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta-llama/llama-3.1-8b-instruct',
+ provider: 'openrouter',
+ name: 'Llama-3.1-8B-Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.05, output: 0.08, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta-llama/llama-3.2-1b-instruct',
+ provider: 'openrouter',
+ name: 'Llama 3.2 1B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.027, output: 0.201, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 60000,
+ maxTokens: 54000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta-llama/llama-3.2-3b-instruct',
+ provider: 'openrouter',
+ name: 'Llama 3.2 3B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.05, output: 0.33, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta-llama/llama-3.3-70b-instruct',
+ provider: 'openrouter',
+ name: 'Llama-3.3-70B-Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.32, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta-llama/llama-4-maverick',
+ provider: 'openrouter',
+ name: 'Llama 4 Maverick',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.1875, output: 0.6525, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta-llama/llama-4-scout',
+ provider: 'openrouter',
+ name: 'Llama 4 Scout',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1310720,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta-llama/llama-guard-4-12b',
+ provider: 'openrouter',
+ name: 'Llama Guard 4 12B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.18, output: 0.18, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta/muse-glimmer-30b',
+ provider: 'openrouter',
+ name: 'Muse Glimmer 30B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0.35, output: 1.5, cacheRead: 0.04, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta/muse-spark-1.1',
+ provider: 'openrouter',
+ name: 'Muse Spark 1.1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta/muse-spark-1.2',
+ provider: 'openrouter',
+ name: 'Muse Spark 1.2',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta/muse-spark-1.2-contributor',
+ provider: 'openrouter',
+ name: 'Muse Spark 1.2 Contributor',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.2, cacheRead: 0.002, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta/muse-spark-1.3',
+ provider: 'openrouter',
+ name: 'Muse Spark 1.3',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'meta/muse-spark-1.3-contributor',
+ provider: 'openrouter',
+ name: 'Muse Spark 1.3 Contributor',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.2, cacheRead: 0.002, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'microsoft/phi-4',
+ provider: 'openrouter',
+ name: 'Phi 4',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.07, output: 0.14, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 16384,
+ maxTokens: 14745,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'microsoft/wizardlm-2-8x22b',
+ provider: 'openrouter',
+ name: 'WizardLM-2 8x22B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.62, output: 0.62, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 65535,
+ maxTokens: 8000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'minimax/minimax-01',
+ provider: 'openrouter',
+ name: 'MiniMax-01',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.2, output: 1.1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000192,
+ maxTokens: 40000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'minimax/minimax-m1',
+ provider: 'openrouter',
+ name: 'MiniMax M1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.4, output: 2.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 40000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'minimax/minimax-m2',
+ provider: 'openrouter',
+ name: 'MiniMax-M2',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 176947,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'minimax/minimax-m2-her',
+ provider: 'openrouter',
+ name: 'MiniMax-M2 Her',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 2048,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'minimax/minimax-m2.1',
+ provider: 'openrouter',
+ name: 'MiniMax-M2.1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'minimax/minimax-m2.5',
+ provider: 'openrouter',
+ name: 'MiniMax-M2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.27, output: 1.08, cacheRead: 0.027, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'minimax/minimax-m2.7',
+ provider: 'openrouter',
+ name: 'MiniMax-M2.7',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.21, output: 0.84, cacheRead: 0.042, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 176947,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'minimax/minimax-m3',
+ provider: 'openrouter',
+ name: 'MiniMax-M3',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 512000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/codestral-2508',
+ provider: 'openrouter',
+ name: 'Codestral 2508',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'document'],
+ reasoning: false,
+ cost: { input: 0.3, output: 0.9, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 204800,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/codestral-2508:batch',
+ provider: 'openrouter',
+ name: 'Mistral: Codestral 2508 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'document'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.45, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 204800,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/devstral-2512',
+ provider: 'openrouter',
+ name: 'Devstral 2',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'document'],
+ reasoning: false,
+ cost: { input: 0.4, output: 2, cacheRead: 0.04, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 209715,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/ministral-14b-2512',
+ provider: 'openrouter',
+ name: 'Ministral 3 14B 2512',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.2, output: 0.2, cacheRead: 0.02, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 209715,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/ministral-3b-2512',
+ provider: 'openrouter',
+ name: 'Ministral 3 3B 2512',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.1, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 104857,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/ministral-8b-2512',
+ provider: 'openrouter',
+ name: 'Ministral 3 8B 2512',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.15, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 209715,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/ministral-8b-2512:batch',
+ provider: 'openrouter',
+ name: 'Mistral: Ministral 3 8B 2512 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.075, output: 0.075, cacheRead: 0.0075, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 209715,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-large',
+ provider: 'openrouter',
+ name: 'Mistral Large',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'document'],
+ reasoning: false,
+ cost: { input: 2, output: 6, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 102400,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-large-2407',
+ provider: 'openrouter',
+ name: 'Mistral Large 2407',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'document'],
+ reasoning: false,
+ cost: { input: 2, output: 6, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 104857,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-large-2512',
+ provider: 'openrouter',
+ name: 'Mistral Large 3',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.5, output: 1.5, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 209715,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-large-2512:batch',
+ provider: 'openrouter',
+ name: 'Mistral: Mistral Large 3 2512 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.25, output: 0.75, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 209715,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-large-4-0',
+ provider: 'openrouter',
+ name: 'Mistral: Mistral Large 4',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.68, output: 2.09, cacheRead: 0.07, cacheWrite: 0 },
+ contextWindow: 524288,
+ maxTokens: 262144,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-medium-3',
+ provider: 'openrouter',
+ name: 'Mistral Medium 3',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.4, output: 2, cacheRead: 0.04, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 104857,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-medium-3-5',
+ provider: 'openrouter',
+ name: 'Mistral Medium 3.5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 1.5, output: 7.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 209715,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-medium-3-5:batch',
+ provider: 'openrouter',
+ name: 'Mistral: Mistral Medium 3.5 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 209715,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-medium-3.1',
+ provider: 'openrouter',
+ name: 'Mistral Medium 3.1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.4, output: 2, cacheRead: 0.04, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 104857,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-medium-3.1:batch',
+ provider: 'openrouter',
+ name: 'Mistral: Mistral Medium 3.1 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.2, output: 1, cacheRead: 0.02, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 104857,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-nemo',
+ provider: 'openrouter',
+ name: 'Mistral Nemo',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.019, output: 0.03, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-saba',
+ provider: 'openrouter',
+ name: 'Saba',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'document'],
+ reasoning: false,
+ cost: { input: 0.2, output: 0.6, cacheRead: 0.02, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 26214,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-small-24b-instruct-2501',
+ provider: 'openrouter',
+ name: 'Mistral Small 3',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.05, output: 0.08, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-small-2603',
+ provider: 'openrouter',
+ name: 'Mistral Small 4',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 209715,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-small-2603:batch',
+ provider: 'openrouter',
+ name: 'Mistral: Mistral Small 4 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.075, output: 0.3, cacheRead: 0.0075, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 209715,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-small-3.1-24b-instruct',
+ provider: 'openrouter',
+ name: 'Mistral Small 3.1 24B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.351, output: 0.555, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 102400,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mistral-small-3.2-24b-instruct',
+ provider: 'openrouter',
+ name: 'Mistral Small 3.2 24B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.09375, output: 0.25, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/mixtral-8x22b-instruct',
+ provider: 'openrouter',
+ name: 'Mixtral 8x22B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'document'],
+ reasoning: false,
+ cost: { input: 2, output: 6, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 52428,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'mistralai/voxtral-small-24b-2507',
+ provider: 'openrouter',
+ name: 'Voxtral Small 24B 2507',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'audio', 'document'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.3, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 26214,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'moonshotai/kimi-k2',
+ provider: 'openrouter',
+ name: 'Kimi K2 0711',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.57, output: 2.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 98304,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'moonshotai/kimi-k2-0905',
+ provider: 'openrouter',
+ name: 'Kimi K2 0905',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.6, output: 2.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 98304,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'moonshotai/kimi-k2-thinking',
+ provider: 'openrouter',
+ name: 'Kimi K2 Thinking',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 2.5, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 98304,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'moonshotai/kimi-k2.5',
+ provider: 'openrouter',
+ name: 'Kimi K2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.45, output: 2.25, cacheRead: 0.07, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'moonshotai/kimi-k2.6',
+ provider: 'openrouter',
+ name: 'Kimi K2.6',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.65, output: 3.41, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'moonshotai/kimi-k2.7-code',
+ provider: 'openrouter',
+ name: 'Kimi K2.7 Code',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.6712, output: 3.35, cacheRead: 0.18, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'moonshotai/kimi-k3',
+ provider: 'openrouter',
+ name: 'Kimi K3',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'moonshotai/kimi-k3:batch',
+ provider: 'openrouter',
+ name: 'MoonshotAI: Kimi K3 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 2.28, output: 11.4, cacheRead: 0.228, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'morph/morph-v3-fast',
+ provider: 'openrouter',
+ name: 'Morph V3 Fast',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.8, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 81920,
+ maxTokens: 38000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'morph/morph-v3-large',
+ provider: 'openrouter',
+ name: 'Morph V3 Large',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.9, output: 1.9, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nex-agi/nex-n2.5-mini',
+ provider: 'openrouter',
+ name: 'Nex-N2.5-Mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.025, output: 0.1, cacheRead: 0.0025, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nex-agi/nex-n2.5-mini:free',
+ provider: 'openrouter',
+ name: 'Nex AGI: Nex-N2.5-Mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.025, output: 0.1, cacheRead: 0.0025, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ borrowedFrom: 'kilo/nex-agi/nex-n2.5-mini',
+ },
+ {
+ id: 'nex-agi/nex-n2.5-pro',
+ provider: 'openrouter',
+ name: 'Nex-N2.5-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.075, output: 0.25, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nex-agi/nex-n2.5-pro:free',
+ provider: 'openrouter',
+ name: 'Nex AGI: Nex-N2.5-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.075, output: 0.25, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ borrowedFrom: 'kilo/nex-agi/nex-n2.5-pro',
+ },
+ {
+ id: 'nousresearch/hermes-3-llama-3.1-405b',
+ provider: 'openrouter',
+ name: 'Hermes 3 405B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 1, output: 1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nousresearch/hermes-3-llama-3.1-70b',
+ provider: 'openrouter',
+ name: 'Hermes 3 70B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.7, output: 0.7, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nousresearch/hermes-4-405b',
+ provider: 'openrouter',
+ name: 'Hermes 4 405B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1, output: 3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3-nano-30b-a3b',
+ provider: 'openrouter',
+ name: 'Nemotron 3 Nano 30B A3B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.05, output: 0.2, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free',
+ provider: 'openrouter',
+ name: 'Nemotron 3 Nano Omni (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3-super-120b-a12b',
+ provider: 'openrouter',
+ name: 'Nemotron 3 Super 120B A12B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium' },
+ budget: true,
+ },
+ cost: { input: 0.08, output: 0.45, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3-super-120b-a12b:free',
+ provider: 'openrouter',
+ name: 'Nemotron 3 Super (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium' },
+ budget: true,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3-ultra-550b-a55b',
+ provider: 'openrouter',
+ name: 'Nemotron 3 Ultra 550B A55B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: { input: 0.6, output: 2.4, cacheRead: 0.12, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 182520,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3-ultra-550b-a55b:free',
+ provider: 'openrouter',
+ name: 'Nemotron 3 Ultra (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3.5-content-safety',
+ provider: 'openrouter',
+ name: 'Nemotron 3.5 Content Safety',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.2, output: 0.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3.5-content-safety:free',
+ provider: 'openrouter',
+ name: 'Nemotron 3.5 Content Safety (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3.5-lightning',
+ provider: 'openrouter',
+ name: 'Nemotron 3.5 Lightning 30B A3B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.06, output: 0.16, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3.5-lightning:free',
+ provider: 'openrouter',
+ name: 'Nemotron 3.5 Lightning (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'openai/gpt-3.5-turbo',
+ provider: 'openrouter',
+ name: 'GPT-3.5-turbo',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.5, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 16385,
+ maxTokens: 4096,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-3.5-turbo-0613',
+ provider: 'openrouter',
+ name: 'GPT-3.5 Turbo (older v0613)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 1, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 4095,
+ maxTokens: 3685,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-3.5-turbo-16k',
+ provider: 'openrouter',
+ name: 'GPT-3.5 Turbo 16k',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 3, output: 4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 16385,
+ maxTokens: 4096,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-3.5-turbo-instruct',
+ provider: 'openrouter',
+ name: 'GPT-3.5 Turbo Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 1.5, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 4095,
+ maxTokens: 3685,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-3.5-turbo:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-3.5 Turbo (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.25, output: 0.75, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 16385,
+ maxTokens: 4096,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4',
+ provider: 'openrouter',
+ name: 'GPT-4',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 30, output: 60, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8191,
+ maxTokens: 4096,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4-turbo',
+ provider: 'openrouter',
+ name: 'GPT-4 Turbo',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 10, output: 30, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4-turbo:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-4 Turbo (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 5, output: 15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4.1',
+ provider: 'openrouter',
+ name: 'GPT-4.1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4.1-mini',
+ provider: 'openrouter',
+ name: 'GPT-4.1 mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.4, output: 1.6, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4.1-mini:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-4.1 Mini (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.2, output: 0.8, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4.1-nano',
+ provider: 'openrouter',
+ name: 'GPT-4.1 nano',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.4, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4.1-nano:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-4.1 Nano (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.05, output: 0.2, cacheRead: 0.0125, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4.1:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-4.1 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 1, output: 4, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4o',
+ provider: 'openrouter',
+ name: 'GPT-4o',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 1.25, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4o-2024-05-13',
+ provider: 'openrouter',
+ name: 'GPT-4o (2024-05-13)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 5, output: 15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4o-2024-08-06',
+ provider: 'openrouter',
+ name: 'GPT-4o (2024-08-06)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 1.25, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4o-2024-11-20',
+ provider: 'openrouter',
+ name: 'GPT-4o (2024-11-20)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 1.25, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4o-mini',
+ provider: 'openrouter',
+ name: 'GPT-4o mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4o-mini-2024-07-18',
+ provider: 'openrouter',
+ name: 'GPT-4o-mini (2024-07-18)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4o-mini:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-4o-mini (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.075, output: 0.3, cacheRead: 0.0375, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-4o:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-4o (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 1.25, output: 5, cacheRead: 0.625, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-5',
+ provider: 'openrouter',
+ name: 'GPT-5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5-image',
+ provider: 'openrouter',
+ name: 'GPT-5 Image',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 10, output: 10, cacheRead: 1.25, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-5-image-mini',
+ provider: 'openrouter',
+ name: 'GPT-5 Image Mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 2, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-5-mini',
+ provider: 'openrouter',
+ name: 'GPT-5 Mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 2, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5-mini:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5 Mini (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.125, output: 1, cacheRead: 0.0125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5-nano',
+ provider: 'openrouter',
+ name: 'GPT-5 Nano',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.05, output: 0.4, cacheRead: 0.005, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5-nano:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5 Nano (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.025, output: 0.2, cacheRead: 0.0025, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5-pro',
+ provider: 'openrouter',
+ name: 'GPT-5 Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { high: 'high' }, budget: false },
+ cost: { input: 15, output: 120, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5-pro:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5 Pro (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { high: 'high' }, budget: false },
+ cost: { input: 7.5, output: 60, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.625, output: 5, cacheRead: 0.0625, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.1',
+ provider: 'openrouter',
+ name: 'GPT-5.1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.1-codex',
+ provider: 'openrouter',
+ name: 'GPT-5.1 Codex',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.13, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.1-codex-max',
+ provider: 'openrouter',
+ name: 'GPT-5.1 Codex Max',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.1-codex-mini',
+ provider: 'openrouter',
+ name: 'GPT-5.1 Codex mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 2, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.1:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.1 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.625, output: 5, cacheRead: 0.0625, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.2',
+ provider: 'openrouter',
+ name: 'GPT-5.2',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.2-chat',
+ provider: 'openrouter',
+ name: 'GPT-5.2 Chat',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.2-codex',
+ provider: 'openrouter',
+ name: 'GPT-5.2 Codex',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.2-pro',
+ provider: 'openrouter',
+ name: 'GPT-5.2 Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 21, output: 168, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.2-pro:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.2 Pro (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 10.5, output: 84, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.2:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.2 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.875, output: 7, cacheRead: 0.0875, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.3-codex',
+ provider: 'openrouter',
+ name: 'GPT-5.3 Codex',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.4',
+ provider: 'openrouter',
+ name: 'GPT-5.4',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2.5,
+ output: 15,
+ cacheRead: 0.25,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 5,
+ output: 22.5,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.4-image-2',
+ provider: 'openrouter',
+ name: 'GPT-5.4 Image 2',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 8, output: 15, cacheRead: 2, cacheWrite: 0 },
+ contextWindow: 272000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.4-mini',
+ provider: 'openrouter',
+ name: 'GPT-5.4 mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 4.5, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.4-mini:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.4 Mini (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.375, output: 2.25, cacheRead: 0.0375, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.4-nano',
+ provider: 'openrouter',
+ name: 'GPT-5.4 nano',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 1.25, cacheRead: 0.02, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.4-nano:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.4 Nano (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.625, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.4-pro',
+ provider: 'openrouter',
+ name: 'GPT-5.4 Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 30,
+ output: 180,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 60,
+ output: 270,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.4-pro:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.4 Pro (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 15, output: 90, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.4:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.4 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 7.5, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.5',
+ provider: 'openrouter',
+ name: 'GPT-5.5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 5,
+ output: 30,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 10,
+ output: 45,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.5-pro',
+ provider: 'openrouter',
+ name: 'GPT-5.5 Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 30,
+ output: 180,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 60,
+ output: 270,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.5-pro:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.5 Pro (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 15, output: 90, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.5:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.5 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 15, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.6-luna',
+ provider: 'openrouter',
+ name: 'GPT-5.6 Luna',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.2,
+ output: 1.2,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.4,
+ output: 1.8,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.6-luna-pro',
+ provider: 'openrouter',
+ name: 'GPT-5.6 Luna Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.2,
+ output: 1.2,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.4,
+ output: 1.8,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.6-luna-pro:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.6 Luna Pro (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.6, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.6-luna:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.6 Luna (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.6, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.6-sol',
+ provider: 'openrouter',
+ name: 'GPT-5.6 Sol',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.6-sol-pro',
+ provider: 'openrouter',
+ name: 'GPT-5.6 Sol Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 4,
+ output: 20,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.6-sol-pro:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.6 Sol Pro (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.6-sol:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.6 Sol (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.6-terra',
+ provider: 'openrouter',
+ name: 'GPT-5.6 Terra',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.6-terra-pro',
+ provider: 'openrouter',
+ name: 'GPT-5.6 Terra Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.6-terra-pro:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.6 Terra Pro (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 6, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-5.6-terra:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-5.6 Terra (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 6, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6-astra',
+ provider: 'openrouter',
+ name: 'GPT-6 Astra',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 10,
+ output: 50,
+ cacheRead: 1,
+ cacheWrite: 12.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 20,
+ output: 75,
+ cacheRead: 2,
+ cacheWrite: 25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6-astra-pro',
+ provider: 'openrouter',
+ name: 'GPT-6 Astra Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 10,
+ output: 50,
+ cacheRead: 1,
+ cacheWrite: 12.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 20,
+ output: 75,
+ cacheRead: 2,
+ cacheWrite: 25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6-astra-pro:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-6 Astra Pro (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6-astra:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-6 Astra (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6-luna',
+ provider: 'openrouter',
+ name: 'GPT-6 Luna',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.1,
+ output: 0.5,
+ cacheRead: 0.01,
+ cacheWrite: 0.125,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.2,
+ output: 0.75,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6-luna-pro',
+ provider: 'openrouter',
+ name: 'GPT-6 Luna Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.1,
+ output: 0.5,
+ cacheRead: 0.01,
+ cacheWrite: 0.125,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.2,
+ output: 0.75,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6-luna-pro:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-6 Luna Pro (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.05, output: 0.25, cacheRead: 0.005, cacheWrite: 0.0625 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6-luna:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-6 Luna (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.05, output: 0.25, cacheRead: 0.005, cacheWrite: 0.0625 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6-sol',
+ provider: 'openrouter',
+ name: 'GPT-6 Sol',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6-sol-pro',
+ provider: 'openrouter',
+ name: 'GPT-6 Sol Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6-sol-pro:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-6 Sol Pro (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6-sol:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: GPT-6 Sol (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6.1-sol',
+ provider: 'openrouter',
+ name: 'GPT-6.1 Sol',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.1,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.2,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-6.1-sol-pro',
+ provider: 'openrouter',
+ name: 'GPT-6.1 Sol Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.1,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 15,
+ cacheRead: 0.2,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-audio',
+ provider: 'openrouter',
+ name: 'GPT Audio',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-audio-mini',
+ provider: 'openrouter',
+ name: 'GPT Audio Mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 0.6, output: 2.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-chat-latest',
+ provider: 'openrouter',
+ name: 'GPT Chat Latest',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 5, output: 30, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/gpt-oss-120b',
+ provider: 'openrouter',
+ name: 'GPT OSS 120B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.037, output: 0.17, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-oss-120b:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: gpt-oss-120b (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.0296, output: 0.136, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-oss-20b',
+ provider: 'openrouter',
+ name: 'GPT OSS 20B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.018, output: 0.09, cacheRead: 0.009, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-oss-20b:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: gpt-oss-20b (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.024, output: 0.112, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/gpt-oss-safeguard-20b',
+ provider: 'openrouter',
+ name: 'GPT OSS Safeguard 20B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.075, output: 0.3, cacheRead: 0.0375, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ },
+ },
+ {
+ id: 'openai/o1',
+ provider: 'openrouter',
+ name: 'o1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 15, output: 60, cacheRead: 7.5, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/o1-pro',
+ provider: 'openrouter',
+ name: 'o1-pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 150, output: 600, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/o3',
+ provider: 'openrouter',
+ name: 'o3',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/o3-mini',
+ provider: 'openrouter',
+ name: 'o3-mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.1, output: 4.4, cacheRead: 0.55, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/o3-mini-high',
+ provider: 'openrouter',
+ name: 'o3 Mini High',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'document'],
+ reasoning: { levels: { high: 'high' }, budget: false },
+ cost: { input: 1.1, output: 4.4, cacheRead: 0.55, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/o3-mini:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: o3 Mini (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.55, output: 2.2, cacheRead: 0.275, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/o3-pro',
+ provider: 'openrouter',
+ name: 'o3-pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 20, output: 80, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/o3:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: o3 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 4, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/o4-mini',
+ provider: 'openrouter',
+ name: 'o4-mini',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.1, output: 4.4, cacheRead: 0.275, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/o4-mini-high',
+ provider: 'openrouter',
+ name: 'o4 Mini High',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { high: 'high' }, budget: false },
+ cost: { input: 1.1, output: 4.4, cacheRead: 0.275, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openai/o4-mini:batch',
+ provider: 'openrouter',
+ name: 'OpenAI: o4 Mini (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.55, output: 2.2, cacheRead: 0.1375, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openrouter/auto',
+ provider: 'openrouter',
+ name: 'Auto Router',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 2000000,
+ maxTokens: 2000000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ provider: 'openrouter',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ id: 'openrouter/auto-beta',
+ name: 'Auto Router (Beta)',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 2000000,
+ maxTokens: 4096,
+ },
+ {
+ id: 'openrouter/bodybuilder',
+ provider: 'openrouter',
+ name: 'Body Builder (beta)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openrouter/free',
+ provider: 'openrouter',
+ name: 'Free Models Router',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 8000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'openrouter/fusion',
+ provider: 'openrouter',
+ name: 'Fusion',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'openrouter/pareto-code',
+ provider: 'openrouter',
+ name: 'Pareto Code Router',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 2000000,
+ maxTokens: 200000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'perceptron/perceptron-mk1',
+ provider: 'openrouter',
+ name: 'Perceptron Mk1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.15, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 8192,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'perceptron/perceptron-mk1.5',
+ provider: 'openrouter',
+ name: 'Perceptron Mk1.5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 36864,
+ maxTokens: 8192,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'perplexity/sonar',
+ provider: 'openrouter',
+ name: 'Sonar',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 1, output: 1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 127072,
+ maxTokens: 114364,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'perplexity/sonar-deep-research',
+ provider: 'openrouter',
+ name: 'Sonar Deep Research',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 2, output: 8, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 115200,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'perplexity/sonar-pro',
+ provider: 'openrouter',
+ name: 'Sonar Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 3, output: 15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 8000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'perplexity/sonar-pro-search',
+ provider: 'openrouter',
+ name: 'Sonar Pro Search',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 8000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'perplexity/sonar-reasoning-pro',
+ provider: 'openrouter',
+ name: 'Sonar Reasoning Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 2, output: 8, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 115200,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'poolside/laguna-s-2.1',
+ provider: 'openrouter',
+ name: 'Laguna S 2.1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.09, output: 0.18, cacheRead: 0.009, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'poolside/laguna-s-2.1:free',
+ provider: 'openrouter',
+ name: 'Laguna S 2.1 (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'poolside/laguna-xs-2.1',
+ provider: 'openrouter',
+ name: 'Laguna XS 2.1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.06, output: 0.12, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'poolside/laguna-xs-2.1:free',
+ provider: 'openrouter',
+ name: 'Laguna XS 2.1 (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'prism-ml/ternary-bonsai-2-27b',
+ provider: 'openrouter',
+ name: 'Ternary Bonsai 2 27B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0.075, output: 0.5, cacheRead: 0.0375, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen-2.5-72b-instruct',
+ provider: 'openrouter',
+ name: 'Qwen2.5 72B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.36, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen-2.5-7b-instruct',
+ provider: 'openrouter',
+ name: 'Qwen2.5 7B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 29491,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen-2.5-coder-32b-instruct',
+ provider: 'openrouter',
+ name: 'Qwen2.5 Coder 32B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.66, output: 1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 29491,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen-plus',
+ provider: 'openrouter',
+ name: 'Qwen Plus',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: {
+ input: 0.26,
+ output: 0.78,
+ cacheRead: 0.052,
+ cacheWrite: 0.325,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 0.78,
+ output: 2.34,
+ cacheRead: 0.156,
+ cacheWrite: 0.975,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen-plus-2025-07-28',
+ provider: 'openrouter',
+ name: 'Qwen Plus 0728',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: {
+ input: 0.26,
+ output: 0.78,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 0.78,
+ output: 2.34,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen2.5-vl-72b-instruct',
+ provider: 'openrouter',
+ name: 'Qwen2.5 VL 72B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.8, output: 1, cacheRead: 0.4, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 115200,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-14b',
+ provider: 'openrouter',
+ name: 'Qwen3 14B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.12, output: 0.24, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-235b-a22b',
+ provider: 'openrouter',
+ name: 'Qwen3 235B-A22B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.455, output: 1.82, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-235b-a22b-2507',
+ provider: 'openrouter',
+ name: 'Qwen3 235B A22B Instruct 2507',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.0875, output: 0.35, cacheRead: 0.0175, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-235b-a22b-thinking-2507',
+ provider: 'openrouter',
+ name: 'Qwen3 235B A22B Thinking 2507',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.23, output: 2.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-30b-a3b',
+ provider: 'openrouter',
+ name: 'Qwen3 30B A3B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.13, output: 0.52, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-30b-a3b-instruct-2507',
+ provider: 'openrouter',
+ name: 'Qwen3 30B A3B Instruct 2507',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.04815, output: 0.19305, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-30b-a3b-thinking-2507',
+ provider: 'openrouter',
+ name: 'Qwen3 30B A3B Thinking 2507',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 2.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 81920,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-32b',
+ provider: 'openrouter',
+ name: 'Qwen3 32B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.08, output: 0.28, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-8b',
+ provider: 'openrouter',
+ name: 'Qwen3 8B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.117, output: 0.455, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-coder',
+ provider: 'openrouter',
+ name: 'Qwen3 Coder 480B A35B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.3, output: 1, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-coder-30b-a3b-instruct',
+ provider: 'openrouter',
+ name: 'Qwen3-Coder 30B-A3B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.07, output: 0.28, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-coder-flash',
+ provider: 'openrouter',
+ name: 'Qwen3 Coder Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: {
+ input: 0.195,
+ output: 0.975,
+ cacheRead: 0.039,
+ cacheWrite: 0.24375,
+ tiers: [
+ {
+ inputTokensAbove: 32000,
+ input: 0.325,
+ output: 1.625,
+ cacheRead: 0.065,
+ cacheWrite: 0.40625,
+ },
+ {
+ inputTokensAbove: 128000,
+ input: 0.52,
+ output: 2.6,
+ cacheRead: 0.104,
+ cacheWrite: 0.65,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-coder-next',
+ provider: 'openrouter',
+ name: 'Qwen3 Coder Next',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.12, output: 0.8, cacheRead: 0.07, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-coder-plus',
+ provider: 'openrouter',
+ name: 'Qwen3 Coder Plus',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: {
+ input: 0.65,
+ output: 3.25,
+ cacheRead: 0.13,
+ cacheWrite: 0.8125,
+ tiers: [
+ {
+ inputTokensAbove: 32000,
+ input: 1.17,
+ output: 5.85,
+ cacheRead: 0.234,
+ cacheWrite: 1.4625,
+ },
+ {
+ inputTokensAbove: 128000,
+ input: 1.95,
+ output: 9.75,
+ cacheRead: 0.39,
+ cacheWrite: 2.4375,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-max',
+ provider: 'openrouter',
+ name: 'Qwen3 Max',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: {
+ input: 0.78,
+ output: 3.9,
+ cacheRead: 0.156,
+ cacheWrite: 0.975,
+ tiers: [
+ {
+ inputTokensAbove: 32000,
+ input: 1.56,
+ output: 7.8,
+ cacheRead: 0.312,
+ cacheWrite: 1.95,
+ },
+ {
+ inputTokensAbove: 128000,
+ input: 1.95,
+ output: 9.75,
+ cacheRead: 0.39,
+ cacheWrite: 2.4375,
+ },
+ ],
+ },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-max-thinking',
+ provider: 'openrouter',
+ name: 'Qwen3 Max Thinking',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 0.78,
+ output: 3.9,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 32000,
+ input: 1.56,
+ output: 7.8,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ {
+ inputTokensAbove: 128000,
+ input: 1.95,
+ output: 9.75,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-next-80b-a3b-instruct',
+ provider: 'openrouter',
+ name: 'Qwen3-Next 80B-A3B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.1, output: 1.1, cacheRead: 0.07, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-next-80b-a3b-thinking',
+ provider: 'openrouter',
+ name: 'Qwen3-Next 80B-A3B (Thinking)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-vl-235b-a22b-instruct',
+ provider: 'openrouter',
+ name: 'Qwen3 VL 235B A22B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.21, output: 1.9, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-vl-235b-a22b-thinking',
+ provider: 'openrouter',
+ name: 'Qwen3 VL 235B A22B Thinking',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.4, output: 4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-vl-30b-a3b-instruct',
+ provider: 'openrouter',
+ name: 'Qwen3 VL 30B A3B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-vl-30b-a3b-thinking',
+ provider: 'openrouter',
+ name: 'Qwen3 VL 30B A3B Thinking',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 2.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-vl-32b-instruct',
+ provider: 'openrouter',
+ name: 'Qwen3 VL 32B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.104, output: 0.416, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-vl-8b-instruct',
+ provider: 'openrouter',
+ name: 'Qwen3 VL 8B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.117, output: 0.455, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3-vl-8b-thinking',
+ provider: 'openrouter',
+ name: 'Qwen3 VL 8B Thinking',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.18, output: 2.1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.5-122b-a10b',
+ provider: 'openrouter',
+ name: 'Qwen3.5 122B-A10B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.26, output: 2.08, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.5-27b',
+ provider: 'openrouter',
+ name: 'Qwen3.5 27B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.195, output: 1.56, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.5-35b-a3b',
+ provider: 'openrouter',
+ name: 'Qwen3.5 35B-A3B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.1625, output: 1.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.5-397b-a17b',
+ provider: 'openrouter',
+ name: 'Qwen3.5 397B-A17B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.55, output: 3.5, cacheRead: 0.225, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.5-9b',
+ provider: 'openrouter',
+ name: 'Qwen3.5 9B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.1, output: 0.15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.5-flash-02-23',
+ provider: 'openrouter',
+ name: 'Qwen3.5-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.065, output: 0.26, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.5-plus-02-15',
+ provider: 'openrouter',
+ name: 'Qwen3.5 Plus 2026-02-15',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 0.26,
+ output: 1.56,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 0.325,
+ output: 1.95,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.5-plus-20260420',
+ provider: 'openrouter',
+ name: 'Qwen3.5 Plus 2026-04-20',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 0.3,
+ output: 1.8,
+ cacheRead: 0,
+ cacheWrite: 0.375,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 0.375,
+ output: 2.25,
+ cacheRead: 0,
+ cacheWrite: 0.46875,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.6-27b',
+ provider: 'openrouter',
+ name: 'Qwen3.6 27B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.32, output: 3.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 81920,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.6-35b-a3b',
+ provider: 'openrouter',
+ name: 'Qwen3.6 35B-A3B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.15, output: 1, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.6-flash',
+ provider: 'openrouter',
+ name: 'Qwen3.6 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 0.1875,
+ output: 1.125,
+ cacheRead: 0,
+ cacheWrite: 0.234375,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 0.75,
+ output: 3,
+ cacheRead: 0,
+ cacheWrite: 0.9375,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.6-max-preview',
+ provider: 'openrouter',
+ name: 'Qwen3.6 Max Preview',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 1.027,
+ output: 6.162,
+ cacheRead: 0,
+ cacheWrite: 1.28375,
+ tiers: [
+ {
+ inputTokensAbove: 128000,
+ input: 1.58,
+ output: 9.48,
+ cacheRead: 0,
+ cacheWrite: 1.975,
+ },
+ ],
+ },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.6-plus',
+ provider: 'openrouter',
+ name: 'Qwen3.6 Plus',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 0.325,
+ output: 1.95,
+ cacheRead: 0,
+ cacheWrite: 0.40625,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 1.3,
+ output: 3.9,
+ cacheRead: 0,
+ cacheWrite: 1.625,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.7-flash',
+ provider: 'openrouter',
+ name: 'Qwen3.7 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: {
+ input: 0.03,
+ output: 0.13,
+ cacheRead: 0.006,
+ cacheWrite: 0.038,
+ tiers: [
+ {
+ inputTokensAbove: 32000,
+ input: 0.1,
+ output: 0.4,
+ cacheRead: 0.02,
+ cacheWrite: 0.125,
+ },
+ {
+ inputTokensAbove: 256000,
+ input: 0.2,
+ output: 0.8,
+ cacheRead: 0.04,
+ cacheWrite: 0.25,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.7-max',
+ provider: 'openrouter',
+ name: 'Qwen3.7 Max',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 1.475,
+ output: 4.425,
+ cacheRead: 0.295,
+ cacheWrite: 1.84375,
+ },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.7-plus',
+ provider: 'openrouter',
+ name: 'Qwen3.7 Plus',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 0.32,
+ output: 1.28,
+ cacheRead: 0.064,
+ cacheWrite: 0.4,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 0.96,
+ output: 3.84,
+ cacheRead: 0.192,
+ cacheWrite: 1.2,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.8-2.4t-a95b',
+ provider: 'openrouter',
+ name: 'Qwen3.8 2.4T A95B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.8-27b',
+ provider: 'openrouter',
+ name: 'Qwen3.8 27B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0.0249, output: 4.35, cacheRead: 0.0199, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.8-27b:free',
+ provider: 'openrouter',
+ name: 'Qwen3.8 27B (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.8-flash',
+ provider: 'openrouter',
+ name: 'Qwen3.8 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.15, output: 0.47, cacheRead: 0.016, cacheWrite: 0.2 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.8-max-0902',
+ provider: 'openrouter',
+ name: 'Qwen3.8 Max 0902',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.8-max-prime',
+ provider: 'openrouter',
+ name: 'Qwen 3.8 Max Prime',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 4, output: 12, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'qwen/qwen3.8-omni-flash',
+ provider: 'openrouter',
+ name: 'Qwen3.8 Omni Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.15, output: 0.47, cacheRead: 0.016, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'rekaai/reka-edge',
+ provider: 'openrouter',
+ name: 'Reka Edge',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 16384,
+ maxTokens: 14745,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'rekaai/reka-flash-3',
+ provider: 'openrouter',
+ name: 'Reka Flash 3',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 58982,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'relace/relace-apply-3',
+ provider: 'openrouter',
+ name: 'Relace Apply 3',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.85, output: 1.25, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'relace/relace-search',
+ provider: 'openrouter',
+ name: 'Relace Search',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 1, output: 3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'sakana/fugu-max',
+ provider: 'openrouter',
+ name: 'Fugu Max',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { high: 'high', xhigh: 'xhigh', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'sakana/fugu-ultra',
+ provider: 'openrouter',
+ name: 'Fugu Ultra',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { high: 'high', xhigh: 'xhigh', max: 'max' },
+ budget: false,
+ },
+ cost: {
+ input: 5,
+ output: 30,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 10,
+ output: 45,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'sakana/fugu-ultra-v2',
+ provider: 'openrouter',
+ name: 'Fugu Ultra v2',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { high: 'high', xhigh: 'xhigh', max: 'max' },
+ budget: false,
+ },
+ cost: {
+ input: 5,
+ output: 30,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 10,
+ output: 45,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'sakana/sakana-namazu',
+ provider: 'openrouter',
+ name: 'Sakana Namazu',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.95, output: 4, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'sao10k/l3-lunaris-8b',
+ provider: 'openrouter',
+ name: 'Llama 3 8B Lunaris',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.04, output: 0.05, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 7372,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'sao10k/l3.1-euryale-70b',
+ provider: 'openrouter',
+ name: 'Llama 3.1 Euryale 70B v2.2',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.85, output: 0.85, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'sao10k/l3.3-euryale-70b',
+ provider: 'openrouter',
+ name: 'Llama 3.3 Euryale 70B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.65, output: 0.75, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'stealth/space-bunny-alpha',
+ provider: 'openrouter',
+ name: 'Space Bunny Alpha',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 524288,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'stepfun/step-3.5-flash',
+ provider: 'openrouter',
+ name: 'Step 3.5 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'stepfun/step-3.7-flash',
+ provider: 'openrouter',
+ name: 'Step 3.7 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 1.15, cacheRead: 0.04, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 230400,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'tencent/hunyuan-a13b-instruct',
+ provider: 'openrouter',
+ name: 'Hunyuan A13B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.57, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'tencent/hy-mt2-1.8b',
+ provider: 'openrouter',
+ name: 'Hy-MT2-1.8B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.044, output: 0.177, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 4096,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'tencent/hy-mt2-30b-a3b',
+ provider: 'openrouter',
+ name: 'Hy-MT2-30B-A3B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.074, output: 0.295, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 4096,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'tencent/hy-mt2-7b',
+ provider: 'openrouter',
+ name: 'Hy-MT2-7B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.074, output: 0.295, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 4096,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'tencent/hy3',
+ provider: 'openrouter',
+ name: 'Hy3',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.132, output: 0.528, cacheRead: 0.033, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'tencent/hy3-preview',
+ provider: 'openrouter',
+ name: 'Hy3 preview',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.18, output: 0.6, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'tencent/hy4-preview',
+ provider: 'openrouter',
+ name: 'Hy4 preview',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.834, output: 2.501, cacheRead: 0.042, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 64000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'thedrummer/cydonia-24b-v4.1',
+ provider: 'openrouter',
+ name: 'Cydonia 24B V4.1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.3, output: 0.5, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'thedrummer/skyfall-36b-v2',
+ provider: 'openrouter',
+ name: 'Skyfall 36B V2',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.55, output: 0.8, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 29491,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'thedrummer/unslopnemo-12b',
+ provider: 'openrouter',
+ name: 'UnslopNemo 12B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.4, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1024000,
+ maxTokens: 819200,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'thinkingmachines/inkling',
+ provider: 'openrouter',
+ name: 'Inkling',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 4.05, cacheRead: 0.17, cacheWrite: 0 },
+ contextWindow: 524288,
+ maxTokens: 471859,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'thinkingmachines/inkling-small',
+ provider: 'openrouter',
+ name: 'Inkling Small',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.45, output: 1.2, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 524288,
+ maxTokens: 262144,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'thinkingmachines/inkling-small:free',
+ provider: 'openrouter',
+ name: 'Inkling Small (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 262144,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'thinkingmachines/inkling:free',
+ provider: 'openrouter',
+ name: 'Inkling (free)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 262144,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'unbiased/pareto',
+ provider: 'openrouter',
+ name: 'Pareto',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2.5, output: 7.5, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'unbiased/pareto-26.10-preview',
+ provider: 'openrouter',
+ name: 'Pareto 26.10 Preview',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.8, output: 3.2, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'undi95/remm-slerp-l2-13b',
+ provider: 'openrouter',
+ name: 'ReMM SLERP 13B',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.35, output: 0.65, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 6144,
+ maxTokens: 5529,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'upstage/solar-mini4',
+ provider: 'openrouter',
+ name: 'Solar Mini 4',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.05, output: 0.2, cacheRead: 0.005, cacheWrite: 0 },
+ contextWindow: 524288,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'upstage/solar-pro-3',
+ provider: 'openrouter',
+ name: 'Solar Pro 3',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'upstage/solar-pro4',
+ provider: 'openrouter',
+ name: 'Solar Pro 4',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.09, output: 0.36, cacheRead: 0.018, cacheWrite: 0 },
+ contextWindow: 524288,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'writer/palmyra-x5',
+ provider: 'openrouter',
+ name: 'Palmyra X5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.6, output: 6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1040000,
+ maxTokens: 8192,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'x-ai/grok-4.20',
+ provider: 'openrouter',
+ name: 'Grok 4.20',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 2000000,
+ maxTokens: 1800000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'x-ai/grok-4.20-multi-agent',
+ provider: 'openrouter',
+ name: 'Grok 4.20 Multi-Agent',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 2000000,
+ maxTokens: 1800000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'x-ai/grok-4.3',
+ provider: 'openrouter',
+ name: 'Grok 4.3',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 900000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'x-ai/grok-4.3:batch',
+ provider: 'openrouter',
+ name: 'SpaceXAI: Grok 4.3 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1, output: 2, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 900000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'x-ai/grok-4.5',
+ provider: 'openrouter',
+ name: 'Grok 4.5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.3,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 0.6,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 450000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'x-ai/grok-4.6',
+ provider: 'openrouter',
+ name: 'Grok 4.6',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 450000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'x-ai/grok-4.7',
+ provider: 'openrouter',
+ name: 'Grok 4.7',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 450000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'x-ai/grok-build-0.1',
+ provider: 'openrouter',
+ name: 'Grok Build 0.1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 1,
+ output: 2,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2,
+ output: 4,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 256000,
+ maxTokens: 230400,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'xiaomi/mimo-v2.5',
+ provider: 'openrouter',
+ name: 'MiMo-V2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'xiaomi/mimo-v2.5-pro',
+ provider: 'openrouter',
+ name: 'MiMo-V2.5-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.0036, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'xiaomi/mimo-v2.6-flash',
+ provider: 'openrouter',
+ name: 'MiMo-V2.6-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'xiaomi/mimo-v2.6-pro',
+ provider: 'openrouter',
+ name: 'MiMo-V2.6-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.0036, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'xiaomi/mimo-v2.6-pro-ultraspeed',
+ provider: 'openrouter',
+ name: 'MiMo-V2.6-Pro-UltraSpeed',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 4.35, output: 8.7, cacheRead: 0.036, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-4.5',
+ provider: 'openrouter',
+ name: 'GLM-4.5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0.11, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 98304,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-4.5-air',
+ provider: 'openrouter',
+ name: 'GLM-4.5-Air',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.13, output: 0.85, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 98304,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-4.5v',
+ provider: 'openrouter',
+ name: 'GLM-4.5V',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 1.8, cacheRead: 0.11, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-4.6',
+ provider: 'openrouter',
+ name: 'GLM-4.6',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.43, output: 1.75, cacheRead: 0.08, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 16384,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-4.6v',
+ provider: 'openrouter',
+ name: 'GLM-4.6V',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.3, output: 0.9, cacheRead: 0.055, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-4.7',
+ provider: 'openrouter',
+ name: 'GLM-4.7',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0.11, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-4.7-flash',
+ provider: 'openrouter',
+ name: 'GLM-4.7-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.0605, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 117964,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-5',
+ provider: 'openrouter',
+ name: 'GLM-5',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 1.92, cacheRead: 0.12, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 128000,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'z-ai/glm-5-turbo',
+ provider: 'openrouter',
+ name: 'GLM-5-Turbo',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.2, output: 4, cacheRead: 0.24, cacheWrite: 0 },
+ contextWindow: 202752,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'z-ai/glm-5.1',
+ provider: 'openrouter',
+ name: 'GLM-5.1',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'z-ai/glm-5.2',
+ provider: 'openrouter',
+ name: 'GLM-5.2',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0.41, output: 3.99, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943718,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'z-ai/glm-5.3',
+ provider: 'openrouter',
+ name: 'GLM-5.3',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943717,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-5.3-flash',
+ provider: 'openrouter',
+ name: 'GLM-5.3-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 943717,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-5.3-flash:batch',
+ provider: 'openrouter',
+ name: 'Z.ai: GLM 5.3 Flash (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.06, output: 0.2, cacheRead: 0.012, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-5.3-flashx',
+ provider: 'openrouter',
+ name: 'GLM 5.3 FlashX',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.37, output: 1.25, cacheRead: 0.09, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-5.3-prime',
+ provider: 'openrouter',
+ name: 'GLM 5.3 Prime',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 2.8, output: 8.8, cacheRead: 0.56, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-5.3:batch',
+ provider: 'openrouter',
+ name: 'Z.ai: GLM 5.3 (batch)',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.45, output: 2, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+ {
+ id: 'z-ai/glm-5v-turbo',
+ provider: 'openrouter',
+ name: 'GLM-5V-Turbo',
+ api: 'openai-completions',
+ baseUrl: 'https://openrouter.ai/api/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.2, output: 4, cacheRead: 0.24, cacheWrite: 0 },
+ contextWindow: 202752,
+ maxTokens: 131072,
+ compat: {
+ thinkingFormat: 'openrouter',
+ supportsStrictMode: true,
+ sendSessionAffinityHeaders: true,
+ sessionAffinityFormat: 'openrouter',
+ supportsDeveloperRole: false,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/qwen-token-plan-cn.ts b/packages/ai-models/src/providers/qwen-token-plan-cn.ts
new file mode 100644
index 0000000000..fc39d3985e
--- /dev/null
+++ b/packages/ai-models/src/providers/qwen-token-plan-cn.ts
@@ -0,0 +1,553 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Qwen Token Plan (China). */
+export const provider: ProviderRecord = {
+ id: 'qwen-token-plan-cn',
+ name: 'Qwen Token Plan (China)',
+ baseUrl: 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ apis: ['openai-completions'],
+ env: [['QWEN_TOKEN_PLAN_CN_API_KEY']],
+}
+
+/** Every Qwen Token Plan (China) model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'deepseek-v3.2',
+ provider: 'qwen-token-plan-cn',
+ name: 'DeepSeek-V3.2',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.26, output: 0.38, cacheRead: 0.13, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 64000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ borrowedFrom: 'deepinfra/deepseek-ai/DeepSeek-V3.2',
+ },
+ {
+ id: 'deepseek-v4-flash',
+ provider: 'qwen-token-plan-cn',
+ name: 'DeepSeek V4 Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'deepseek-v4-flash-0731',
+ provider: 'qwen-token-plan-cn',
+ name: 'DeepSeek V4 Flash 0731',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.06, output: 0.18, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: false,
+ },
+ borrowedFrom: 'deepinfra/deepseek-ai/DeepSeek-V4-Flash-0731',
+ },
+ {
+ id: 'deepseek-v4-pro',
+ provider: 'qwen-token-plan-cn',
+ name: 'DeepSeek V4 Pro',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.003625, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'deepseek-v4-pro-0813',
+ provider: 'qwen-token-plan-cn',
+ name: 'DeepSeek V4 Pro 0813',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.3, output: 2.6, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: true,
+ },
+ borrowedFrom: 'deepinfra/deepseek-ai/DeepSeek-V4-Pro-0813',
+ },
+ {
+ id: 'deepseek-v4.1-flash',
+ provider: 'qwen-token-plan-cn',
+ name: 'DeepSeek V4.1 Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: {
+ input: 0.29754,
+ output: 1.19015,
+ cacheRead: 0.01488,
+ cacheWrite: 0,
+ },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'glm-5',
+ provider: 'qwen-token-plan-cn',
+ name: 'GLM-5',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: {
+ input: 0.573,
+ output: 2.58,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 32000,
+ input: 0.86,
+ output: 3.154,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 202752,
+ maxTokens: 16384,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-5.1',
+ provider: 'qwen-token-plan-cn',
+ name: 'GLM-5.1',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: {
+ input: 0.825,
+ output: 3.301,
+ cacheRead: 0.17,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 32000,
+ input: 1.1,
+ output: 3.851,
+ cacheRead: 0.17,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 202752,
+ maxTokens: 128000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-5.2',
+ provider: 'qwen-token-plan-cn',
+ name: 'GLM-5.2',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.1, output: 3.851, cacheRead: 0.275, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-5.3',
+ provider: 'qwen-token-plan-cn',
+ name: 'GLM-5.3',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.1, output: 3.851, cacheRead: 0.275, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'kimi-k2.5',
+ provider: 'qwen-token-plan-cn',
+ name: 'Moonshot Kimi K2.5',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.574, output: 2.411, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'kimi-k2.6',
+ provider: 'qwen-token-plan-cn',
+ name: 'Moonshot Kimi K2.6',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.929, output: 3.858, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 16384,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'kimi-k2.7-code',
+ provider: 'qwen-token-plan-cn',
+ name: 'Kimi K2.7 Code',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.19, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ supportsReasoningEffort: false,
+ },
+ borrowedFrom: 'moonshotai/kimi-k2.7-code',
+ },
+ {
+ id: 'MiniMax-M2.5',
+ provider: 'qwen-token-plan-cn',
+ name: 'MiniMax-M2.5',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'qwen3.6-flash',
+ provider: 'qwen-token-plan-cn',
+ name: 'Qwen3.6 Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.1875, output: 1.125, cacheRead: 0, cacheWrite: 0.234375 },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'qwen3.6-plus',
+ provider: 'qwen-token-plan-cn',
+ name: 'Qwen3.6 Plus',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: {
+ input: 0.5,
+ output: 3,
+ cacheRead: 0.05,
+ cacheWrite: 0.625,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 2,
+ output: 6,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'qwen3.7-max',
+ provider: 'qwen-token-plan-cn',
+ name: 'Qwen3.7 Max',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 2.5, output: 7.5, cacheRead: 0.5, cacheWrite: 3.125 },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'qwen3.7-plus',
+ provider: 'qwen-token-plan-cn',
+ name: 'Qwen3.7 Plus',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: {
+ input: 0.5,
+ output: 3,
+ cacheRead: 0.05,
+ cacheWrite: 0.625,
+ tiers: [
+ {
+ inputTokensAbove: 128000,
+ input: 2,
+ output: 6,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'qwen3.8-flash',
+ provider: 'qwen-token-plan-cn',
+ name: 'Qwen3.8 Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: {
+ input: 0.11875,
+ output: 0.40073,
+ cacheRead: 0.01187,
+ cacheWrite: 0.14844,
+ },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'qwen3.8-max',
+ provider: 'qwen-token-plan-cn',
+ name: 'Qwen3.8 Max',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: {
+ input: 1.77744,
+ output: 5.33231,
+ cacheRead: 0.22218,
+ cacheWrite: 2.22179,
+ },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/qwen-token-plan-individual.ts b/packages/ai-models/src/providers/qwen-token-plan-individual.ts
new file mode 100644
index 0000000000..908de4f9d2
--- /dev/null
+++ b/packages/ai-models/src/providers/qwen-token-plan-individual.ts
@@ -0,0 +1,244 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Qwen Token Plan (Individual). */
+export const provider: ProviderRecord = {
+ id: 'qwen-token-plan-individual',
+ name: 'Qwen Token Plan (Individual)',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ apis: ['openai-completions'],
+ env: [['QWEN_TOKEN_PLAN_API_KEY']],
+}
+
+/** Every Qwen Token Plan (Individual) model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'deepseek-v4-flash-0731',
+ provider: 'qwen-token-plan-individual',
+ name: 'DeepSeek V4 Flash 0731',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 0.4, cacheRead: 0.04, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'deepseek-v4-pro',
+ provider: 'qwen-token-plan-individual',
+ name: 'DeepSeek V4 Pro',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.003625, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 393216,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ borrowedFrom: 'deepseek/deepseek-v4-pro',
+ },
+ {
+ id: 'deepseek-v4-pro-0813',
+ provider: 'qwen-token-plan-individual',
+ name: 'DeepSeek V4 Pro 0813',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.3, output: 2.6, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: true,
+ },
+ borrowedFrom: 'deepinfra/deepseek-ai/DeepSeek-V4-Pro-0813',
+ },
+ {
+ id: 'glm-5.2',
+ provider: 'qwen-token-plan-individual',
+ name: 'GLM-5.2',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.28, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'qwen3.6-flash',
+ provider: 'qwen-token-plan-individual',
+ name: 'Qwen3.6 Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.1875, output: 1.125, cacheRead: 0, cacheWrite: 0.234375 },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'qwen3.7-max',
+ provider: 'qwen-token-plan-individual',
+ name: 'Qwen3.7 Max',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 2.5, output: 7.5, cacheRead: 0.5, cacheWrite: 3.125 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'qwen3.7-plus',
+ provider: 'qwen-token-plan-individual',
+ name: 'Qwen3.7 Plus',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: {
+ input: 0.4,
+ output: 1.6,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 1.2,
+ output: 4.8,
+ cacheRead: 0.12,
+ cacheWrite: 1.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'qwen3.8-flash',
+ provider: 'qwen-token-plan-individual',
+ name: 'Qwen3.8 Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: { input: 0.15, output: 0.47, cacheRead: 0.016, cacheWrite: 0.2 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'qwen3.8-max',
+ provider: 'qwen-token-plan-individual',
+ name: 'Qwen3.8 Max',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/qwen-token-plan.ts b/packages/ai-models/src/providers/qwen-token-plan.ts
new file mode 100644
index 0000000000..e1f898ef9f
--- /dev/null
+++ b/packages/ai-models/src/providers/qwen-token-plan.ts
@@ -0,0 +1,530 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Qwen Token Plan. */
+export const provider: ProviderRecord = {
+ id: 'qwen-token-plan',
+ name: 'Qwen Token Plan',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ apis: ['openai-completions'],
+ env: [['QWEN_TOKEN_PLAN_API_KEY']],
+}
+
+/** Every Qwen Token Plan model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'deepseek-v3.2',
+ provider: 'qwen-token-plan',
+ name: 'DeepSeek-V3.2',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.26, output: 0.38, cacheRead: 0.13, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 64000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ borrowedFrom: 'deepinfra/deepseek-ai/DeepSeek-V3.2',
+ },
+ {
+ id: 'deepseek-v4-flash',
+ provider: 'qwen-token-plan',
+ name: 'DeepSeek V4 Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.003, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 393216,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ borrowedFrom: 'deepseek/deepseek-v4-flash',
+ },
+ {
+ id: 'deepseek-v4-flash-0731',
+ provider: 'qwen-token-plan',
+ name: 'DeepSeek V4 Flash 0731',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 0.4, cacheRead: 0.04, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'deepseek-v4-pro',
+ provider: 'qwen-token-plan',
+ name: 'DeepSeek V4 Pro',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.003625, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 393216,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ borrowedFrom: 'deepseek/deepseek-v4-pro',
+ },
+ {
+ id: 'deepseek-v4-pro-0813',
+ provider: 'qwen-token-plan',
+ name: 'DeepSeek V4 Pro 0813',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.3, output: 2.6, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: true,
+ },
+ borrowedFrom: 'deepinfra/deepseek-ai/DeepSeek-V4-Pro-0813',
+ },
+ {
+ id: 'deepseek-v4.1-flash',
+ provider: 'qwen-token-plan',
+ name: 'DeepSeek V4.1 Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 0.6, cacheRead: 0.006, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: true,
+ },
+ borrowedFrom: 'deepinfra/deepseek-ai/DeepSeek-V4.1-Flash',
+ },
+ {
+ id: 'glm-5',
+ provider: 'qwen-token-plan',
+ name: 'GLM-5',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1, output: 3.2, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ borrowedFrom: 'zai/glm-5',
+ },
+ {
+ id: 'glm-5.1',
+ provider: 'qwen-token-plan',
+ name: 'GLM-5.1',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ borrowedFrom: 'zai/glm-5.1',
+ },
+ {
+ id: 'glm-5.2',
+ provider: 'qwen-token-plan',
+ name: 'GLM-5.2',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.28, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'glm-5.3',
+ provider: 'qwen-token-plan',
+ name: 'GLM-5.3',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ borrowedFrom: 'zai/glm-5.3',
+ },
+ {
+ id: 'kimi-k2.5',
+ provider: 'qwen-token-plan',
+ name: 'Kimi K2.5',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.45, output: 2.25, cacheRead: 0.07, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ borrowedFrom: 'deepinfra/moonshotai/Kimi-K2.5',
+ },
+ {
+ id: 'kimi-k2.6',
+ provider: 'qwen-token-plan',
+ name: 'Kimi K2.6',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ borrowedFrom: 'moonshotai/kimi-k2.6',
+ },
+ {
+ id: 'kimi-k2.7-code',
+ provider: 'qwen-token-plan',
+ name: 'Kimi K2.7 Code',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.19, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ supportsReasoningEffort: false,
+ },
+ borrowedFrom: 'moonshotai/kimi-k2.7-code',
+ },
+ {
+ id: 'MiniMax-M2.5',
+ provider: 'qwen-token-plan',
+ name: 'MiniMax-M2.5',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.03, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: false,
+ },
+ borrowedFrom: 'minimax/MiniMax-M2.5',
+ },
+ {
+ id: 'qwen3.6-flash',
+ provider: 'qwen-token-plan',
+ name: 'Qwen3.6 Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.1875, output: 1.125, cacheRead: 0, cacheWrite: 0.234375 },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'qwen3.6-plus',
+ provider: 'qwen-token-plan',
+ name: 'Qwen3.6 Plus',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: {
+ input: 0.5,
+ output: 3,
+ cacheRead: 0.05,
+ cacheWrite: 0.625,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 2,
+ output: 6,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'qwen3.7-max',
+ provider: 'qwen-token-plan',
+ name: 'Qwen3.7 Max',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 2.5, output: 7.5, cacheRead: 0.5, cacheWrite: 3.125 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'qwen3.7-plus',
+ provider: 'qwen-token-plan',
+ name: 'Qwen3.7 Plus',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: {
+ input: 0.4,
+ output: 1.6,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 1.2,
+ output: 4.8,
+ cacheRead: 0.12,
+ cacheWrite: 1.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'qwen3.8-flash',
+ provider: 'qwen-token-plan',
+ name: 'Qwen3.8 Flash',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: { input: 0.15, output: 0.47, cacheRead: 0.016, cacheWrite: 0.2 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'qwen3.8-max',
+ provider: 'qwen-token-plan',
+ name: 'Qwen3.8 Max',
+ api: 'openai-completions',
+ baseUrl:
+ 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsStrictMode: true,
+ thinkingFormat: 'qwen',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/together.ts b/packages/ai-models/src/providers/together.ts
new file mode 100644
index 0000000000..319b20dcb3
--- /dev/null
+++ b/packages/ai-models/src/providers/together.ts
@@ -0,0 +1,931 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Together AI. */
+export const provider: ProviderRecord = {
+ id: 'together',
+ name: 'Together AI',
+ baseUrl: 'https://api.together.ai/v1',
+ apis: ['openai-completions'],
+ env: [['TOGETHER_API_KEY']],
+}
+
+/** Every Together AI model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'deepcogito/cogito-v2-1-671b',
+ provider: 'together',
+ name: 'Cogito v2.1 671B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.25, output: 1.25, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 163840,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-R1',
+ provider: 'together',
+ name: 'DeepSeek-R1',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 3, output: 7, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 163839,
+ maxTokens: 163839,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V3',
+ provider: 'together',
+ name: 'DeepSeek-V3',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 1.25, output: 1.25, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V3-1',
+ provider: 'together',
+ name: 'DeepSeek V3.1',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 1.7, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4-Flash-0731',
+ provider: 'together',
+ name: 'DeepSeek V4 Flash 0731',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4-Pro',
+ provider: 'together',
+ name: 'DeepSeek V4 Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.74, output: 3.48, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 512000,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4-Pro-0813',
+ provider: 'together',
+ name: 'DeepSeek V4 Pro 0813',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.32, output: 3.96, cacheRead: 0.13, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'deepseek-ai/DeepSeek-V4.1-Flash',
+ provider: 'together',
+ name: 'DeepSeek V4.1 Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.006, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 384000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'essentialai/Rnj-1-Instruct',
+ provider: 'together',
+ name: 'Rnj-1 Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.15, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'google/gemma-3n-E4B-it',
+ provider: 'together',
+ name: 'Gemma 3N E4B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.06, output: 0.12, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'google/gemma-4-31B-it',
+ provider: 'together',
+ name: 'Gemma 4 31B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.39, output: 0.97, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'LiquidAI/LFM2-24B-A2B',
+ provider: 'together',
+ name: 'LFM2-24B-A2B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.03, output: 0.12, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'meta-llama/Llama-3.3-70B-Instruct-Turbo',
+ provider: 'together',
+ name: 'Llama 3.3 70B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 1.04, output: 1.04, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'meta-llama/Meta-Llama-3-8B-Instruct-Lite',
+ provider: 'together',
+ name: 'Meta Llama 3 8B Instruct Lite',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.14, output: 0.14, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 8192,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'MiniMaxAI/MiniMax-M2.5',
+ provider: 'together',
+ name: 'MiniMax-M2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'MiniMaxAI/MiniMax-M2.7',
+ provider: 'together',
+ name: 'MiniMax-M2.7',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 196608,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'MiniMaxAI/MiniMax-M3',
+ provider: 'together',
+ name: 'MiniMax-M3',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 524288,
+ maxTokens: 250000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'moonshotai/Kimi-K2.6',
+ provider: 'together',
+ name: 'Kimi K2.6',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ borrowedFrom: 'moonshotai/kimi-k2.6',
+ },
+ {
+ id: 'moonshotai/Kimi-K2.7-Code',
+ provider: 'together',
+ name: 'Kimi K2.7 Code',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.19, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ },
+ borrowedFrom: 'moonshotai/kimi-k2.7-code',
+ },
+ {
+ id: 'moonshotai/Kimi-K3',
+ provider: 'together',
+ name: 'Kimi K3',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsTemperature: false,
+ },
+ },
+ {
+ id: 'nvidia/nemotron-3-ultra-550b-a55b',
+ provider: 'together',
+ name: 'Nemotron 3 Ultra 550B A55B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 3.6, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 512300,
+ maxTokens: 512300,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'openai/gpt-oss-120b',
+ provider: 'together',
+ name: 'GPT OSS 120B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'openai/gpt-oss-20b',
+ provider: 'together',
+ name: 'GPT OSS 20B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.05, output: 0.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'pearl-ai/gemma-4-31b-it',
+ provider: 'together',
+ name: 'Pearl AI Gemma 4 31B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.28, output: 0.86, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32000,
+ maxTokens: 32000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'Qwen/Qwen2.5-7B-Instruct-Turbo',
+ provider: 'together',
+ name: 'Qwen 2.5 7B Instruct Turbo',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.3, output: 0.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'Qwen/Qwen3-235B-A22B-Instruct-2507-tput',
+ provider: 'together',
+ name: 'Qwen3 235B A22B Instruct 2507 FP8',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.2, output: 0.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8',
+ provider: 'together',
+ name: 'Qwen3 Coder 480B A35B Instruct',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 2, output: 2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'Qwen/Qwen3-Coder-Next-FP8',
+ provider: 'together',
+ name: 'Qwen3 Coder Next FP8',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.5, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'Qwen/Qwen3.5-397B-A17B',
+ provider: 'together',
+ name: 'Qwen3.5 397B A17B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 3.6, cacheRead: 0.35, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 130000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'Qwen/Qwen3.5-9B',
+ provider: 'together',
+ name: 'Qwen3.5 9B',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.17, output: 0.25, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'Qwen/Qwen3.6-Plus',
+ provider: 'together',
+ name: 'Qwen3.6 Plus',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.5, output: 3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 500000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'Qwen/Qwen3.7-Max',
+ provider: 'together',
+ name: 'Qwen3.7 Max',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 1.25, output: 3.75, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 500000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'thinkingmachines/Inkling',
+ provider: 'together',
+ name: 'Inkling',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text', 'image', 'audio'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 4.05, cacheRead: 0.17, cacheWrite: 0 },
+ contextWindow: 524288,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'zai-org/GLM-5',
+ provider: 'together',
+ name: 'GLM-5',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1, output: 3.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 202752,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'zai-org/GLM-5.1',
+ provider: 'together',
+ name: 'GLM-5.1',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 202752,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ },
+ },
+ {
+ id: 'zai-org/GLM-5.2',
+ provider: 'together',
+ name: 'GLM-5.2',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1048575,
+ maxTokens: 164000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'zai-org/GLM-5.3',
+ provider: 'together',
+ name: 'GLM-5.3',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 262144,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+ {
+ id: 'zai-org/GLM-5.3-Flash',
+ provider: 'together',
+ name: 'GLM-5.3-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://api.together.ai/v1',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048575,
+ maxTokens: 400000,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ supportsReasoningEffort: false,
+ maxTokensField: 'max_tokens',
+ supportsLongCacheRetention: false,
+ supportsStrictMode: false,
+ thinkingFormat: 'together',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/vercel-ai-gateway.ts b/packages/ai-models/src/providers/vercel-ai-gateway.ts
new file mode 100644
index 0000000000..d7f3708384
--- /dev/null
+++ b/packages/ai-models/src/providers/vercel-ai-gateway.ts
@@ -0,0 +1,5701 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Vercel AI Gateway. */
+export const provider: ProviderRecord = {
+ id: 'vercel-ai-gateway',
+ name: 'Vercel AI Gateway',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ apis: ['anthropic-messages'],
+ env: [['AI_GATEWAY_API_KEY']],
+}
+
+/** Every Vercel AI Gateway model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'alibaba/qwen-3-14b',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3-14B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.12, output: 0.24, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 40960,
+ maxTokens: 16384,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen-3-235b',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3 235B A22B Instruct 2507',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.22, output: 0.88, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 16384,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen-3-30b',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3-30B-A3B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.12, output: 0.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 40960,
+ maxTokens: 16384,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen-3-32b',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3.32B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.16, output: 0.64, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen-3.6-max-preview',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3.6 Max Preview',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: {
+ input: 1.3,
+ output: 7.8,
+ cacheRead: 0.13,
+ cacheWrite: 1.625,
+ tiers: [
+ {
+ inputTokensAbove: 128000,
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ },
+ ],
+ },
+ contextWindow: 240000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3-235b-a22b-thinking',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3 235B A22B Thinking 2507',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 0.4, output: 4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3-coder',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3 Coder 480B A35B Instruct',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 1.5,
+ output: 7.5,
+ cacheRead: 0.3,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 32001,
+ input: 2.7,
+ output: 13.5,
+ cacheRead: 0.54,
+ cacheWrite: 0,
+ },
+ {
+ inputTokensAbove: 128001,
+ input: 4.5,
+ output: 22.5,
+ cacheRead: 0.9,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3-coder-30b-a3b',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3 Coder 30B A3B Instruct',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 8192,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3-coder-next',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3 Coder Next',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3-coder-plus',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3 Coder Plus',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: {
+ input: 1,
+ output: 5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 32001,
+ input: 1.8,
+ output: 9,
+ cacheRead: 0.36,
+ cacheWrite: 0,
+ },
+ {
+ inputTokensAbove: 128001,
+ input: 3,
+ output: 15,
+ cacheRead: 0.6,
+ cacheWrite: 0,
+ },
+ {
+ inputTokensAbove: 256001,
+ input: 6,
+ output: 60,
+ cacheRead: 1.2,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 65536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3-max',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3 Max',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: {
+ input: 1.2,
+ output: 6,
+ cacheRead: 0.24,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 32001,
+ input: 2.4,
+ output: 12,
+ cacheRead: 0.48,
+ cacheWrite: 0,
+ },
+ {
+ inputTokensAbove: 128001,
+ input: 3,
+ output: 15,
+ cacheRead: 0.6,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3-max-preview',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3 Max Preview',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: {
+ input: 1.2,
+ output: 6,
+ cacheRead: 0.24,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 32001,
+ input: 2.4,
+ output: 12,
+ cacheRead: 0.48,
+ cacheWrite: 0,
+ },
+ {
+ inputTokensAbove: 128001,
+ input: 3,
+ output: 15,
+ cacheRead: 0.6,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3-max-thinking',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3 Max Thinking',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 1.2,
+ output: 6,
+ cacheRead: 0.24,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 32001,
+ input: 2.4,
+ output: 12,
+ cacheRead: 0.48,
+ cacheWrite: 0,
+ },
+ {
+ inputTokensAbove: 128001,
+ input: 3,
+ output: 15,
+ cacheRead: 0.6,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 256000,
+ maxTokens: 65536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3-next-80b-a3b-instruct',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3 Next 80B A3B Instruct',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.15, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262114,
+ maxTokens: 262114,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3-next-80b-a3b-thinking',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3 Next 80B A3B Thinking',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 0.15, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3-vl-235b-a22b-instruct',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3 VL 235B A22B Instruct',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.4, output: 1.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 129024,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3-vl-instruct',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3 VL Instruct',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.4, output: 1.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 129024,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3-vl-thinking',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3 VL Thinking',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 0.4, output: 4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.5-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3.5 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 0.1, output: 0.4, cacheRead: 0.01, cacheWrite: 0.125 },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.5-plus',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3.5 Plus',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 0.4,
+ output: 2.4,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ tiers: [
+ {
+ inputTokensAbove: 256001,
+ input: 0.5,
+ output: 3,
+ cacheRead: 0.05,
+ cacheWrite: 0.625,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.6-27b',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3.6 27B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.6, output: 3.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 65536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.6-plus',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3.6 Plus',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 0.5,
+ output: 3,
+ cacheRead: 0.05,
+ cacheWrite: 0.625,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 2,
+ output: 6,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.7-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3.7 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 0.03,
+ output: 0.13,
+ cacheRead: 0.006,
+ cacheWrite: 0.038,
+ tiers: [
+ {
+ inputTokensAbove: 32000,
+ input: 0.1,
+ output: 0.4,
+ cacheRead: 0.02,
+ cacheWrite: 0.125,
+ },
+ {
+ inputTokensAbove: 256000,
+ input: 0.2,
+ output: 0.8,
+ cacheRead: 0.04,
+ cacheWrite: 0.25,
+ },
+ ],
+ },
+ contextWindow: 991000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.7-max',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3.7 Max',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 2.5, output: 7.5, cacheRead: 0.5, cacheWrite: 3.125 },
+ contextWindow: 991000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.7-plus',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3.7 Plus',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 0.4,
+ output: 1.6,
+ cacheRead: 0.08,
+ cacheWrite: 0.5,
+ tiers: [
+ {
+ inputTokensAbove: 256000,
+ input: 1.2,
+ output: 4.8,
+ cacheRead: 0.24,
+ cacheWrite: 1.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.8-2.4t-a95b',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3.8 2.4T A95B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.8-27b',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3.8 27B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 3, cacheRead: 0.1, cacheWrite: 0.625 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.8-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3.8 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: { input: 0.15, output: 0.47, cacheRead: 0.016, cacheWrite: 0.2 },
+ contextWindow: 991000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.8-max',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3.8 Max',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.8-max-0902',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen3.8 Max 0902',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 2.5 },
+ contextWindow: 991000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.8-max-prime',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3.8 Max Prime',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: true,
+ },
+ cost: { input: 4, output: 12, cacheRead: 0.5, cacheWrite: 5 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'alibaba/qwen3.8-omni-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'Qwen 3.8 Omni Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.47, cacheRead: 0.016, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'amazon/nova-2-lite',
+ provider: 'vercel-ai-gateway',
+ name: 'Nova 2 Lite',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 65535,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'amazon/nova-lite',
+ provider: 'vercel-ai-gateway',
+ name: 'Nova Lite',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: false,
+ cost: { input: 0.06, output: 0.24, cacheRead: 0.015, cacheWrite: 0.06 },
+ contextWindow: 300000,
+ maxTokens: 10000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'amazon/nova-micro',
+ provider: 'vercel-ai-gateway',
+ name: 'Nova Micro',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.035, output: 0.14, cacheRead: 0.00875, cacheWrite: 0.035 },
+ contextWindow: 128000,
+ maxTokens: 10000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'amazon/nova-pro',
+ provider: 'vercel-ai-gateway',
+ name: 'Nova Pro',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: false,
+ cost: { input: 0.8, output: 3.2, cacheRead: 0.2, cacheWrite: 0.8 },
+ contextWindow: 300000,
+ maxTokens: 10000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'anthropic/claude-3-haiku',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Haiku 3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.25, output: 1.25, cacheRead: 0.03, cacheWrite: 0.3 },
+ contextWindow: 200000,
+ maxTokens: 4096,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'anthropic/claude-fable-5',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Fable 5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ allowEmptySignature: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-fable-5.1',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Fable 5.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ allowEmptySignature: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-haiku-4.5',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Haiku 4.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 1, output: 5, cacheRead: 0.1, cacheWrite: 1.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'anthropic/claude-opus-4',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Opus 4',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 15, output: 75, cacheRead: 1.5, cacheWrite: 18.75 },
+ contextWindow: 200000,
+ maxTokens: 32000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'anthropic/claude-opus-4.5',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Opus 4.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 200000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'anthropic/claude-opus-4.6',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Opus 4.6',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'anthropic/claude-opus-4.7',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Opus 4.7',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'anthropic/claude-opus-4.8',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Opus 4.8',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'anthropic/claude-opus-4.8-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Opus 4.8 (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'anthropic/claude-opus-5',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Opus 5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ allowEmptySignature: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-5-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Opus 5 (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ allowEmptySignature: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-5.5',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Opus 5.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ allowEmptySignature: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-opus-5.5-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Opus 5.5 (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 8, output: 40, cacheRead: 0.4, cacheWrite: 10 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ allowEmptySignature: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-sonnet-4',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Sonnet 4',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: {
+ input: 3,
+ output: 15,
+ cacheRead: 0.3,
+ cacheWrite: 3.75,
+ tiers: [
+ {
+ inputTokensAbove: 200001,
+ input: 6,
+ output: 22.5,
+ cacheRead: 0.6,
+ cacheWrite: 7.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'anthropic/claude-sonnet-4.5',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Sonnet 4.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'anthropic/claude-sonnet-4.6',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Sonnet 4.6',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 3,
+ output: 15,
+ cacheRead: 0.3,
+ cacheWrite: 3.75,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 6,
+ output: 22.5,
+ cacheRead: 0.6,
+ cacheWrite: 7.5,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, forceAdaptiveThinking: true },
+ },
+ {
+ id: 'anthropic/claude-sonnet-5',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Sonnet 5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: true,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ allowEmptySignature: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'anthropic/claude-sonnet-5.5',
+ provider: 'vercel-ai-gateway',
+ name: 'Claude Sonnet 5.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: {
+ allowEmptySignature: true,
+ supportsTemperature: false,
+ forceAdaptiveThinking: true,
+ },
+ },
+ {
+ id: 'arcee-ai/trinity-large-thinking',
+ provider: 'vercel-ai-gateway',
+ name: 'Trinity Large Thinking',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 0.9, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262100,
+ maxTokens: 80000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'bytedance/seed-1.6',
+ provider: 'vercel-ai-gateway',
+ name: 'Seed 1.6',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: {
+ input: 0.25,
+ output: 2,
+ cacheRead: 0.05,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 128001,
+ input: 0.5,
+ output: 4,
+ cacheRead: 0.05,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 256000,
+ maxTokens: 32000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'bytedance/seed-1.8',
+ provider: 'vercel-ai-gateway',
+ name: 'Seed 1.8',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.25,
+ output: 2,
+ cacheRead: 0.05,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 128001,
+ input: 0.5,
+ output: 4,
+ cacheRead: 0.05,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 256000,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'bytedance/seed-2.1-turbo',
+ provider: 'vercel-ai-gateway',
+ name: 'Seed 2.1 Turbo',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.5, output: 2.5, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'cohere/command-a',
+ provider: 'vercel-ai-gateway',
+ name: 'Command A',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 8000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'convaiinnovations/laya',
+ provider: 'vercel-ai-gateway',
+ name: 'Laya',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'convaiinnovations/laya-free',
+ provider: 'vercel-ai-gateway',
+ name: 'Laya (Free)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'deepseek/deepseek-r1',
+ provider: 'vercel-ai-gateway',
+ name: 'DeepSeek-R1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.35, output: 5.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'deepseek/deepseek-v3.1',
+ provider: 'vercel-ai-gateway',
+ name: 'DeepSeek-V3.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 0.95, cacheRead: 0.13, cacheWrite: 0 },
+ contextWindow: 163840,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'deepseek/deepseek-v3.1-terminus',
+ provider: 'vercel-ai-gateway',
+ name: 'DeepSeek V3.1 Terminus',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.27, output: 1, cacheRead: 0.135, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'deepseek/deepseek-v3.2',
+ provider: 'vercel-ai-gateway',
+ name: 'DeepSeek V3.2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.62, output: 1.85, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'deepseek/deepseek-v3.2-thinking',
+ provider: 'vercel-ai-gateway',
+ name: 'DeepSeek V3.2 Thinking',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.62, output: 1.85, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'deepseek/deepseek-v4-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'DeepSeek V4 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.13, output: 0.26, cacheRead: 0.028, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'deepseek/deepseek-v4-flash-0731',
+ provider: 'vercel-ai-gateway',
+ name: 'DeepSeek V4 Flash 0731',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.076, output: 0.153, cacheRead: 0.014, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'deepseek/deepseek-v4-flash-vision-exp',
+ provider: 'vercel-ai-gateway',
+ name: 'DeepSeek V4 Flash Vision Exp',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.2156, output: 0.6468, cacheRead: 0.0068, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'deepseek/deepseek-v4-pro',
+ provider: 'vercel-ai-gateway',
+ name: 'DeepSeek V4 Pro',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.66, output: 1.98, cacheRead: 0.022, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'deepseek/deepseek-v4-pro-0813',
+ provider: 'vercel-ai-gateway',
+ name: 'DeepSeek V4 Pro 0813',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.66, output: 1.98, cacheRead: 0.066, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 384000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'deepseek/deepseek-v4.1-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'DeepSeek V4.1 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.007, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'deepseek/deepseek-v4.1-flash-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'DeepSeek V4.1 Flash Fast',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.006, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'fireworks/ember-1',
+ provider: 'vercel-ai-gateway',
+ name: 'Ember-1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-2.5-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 2.5 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-2.5-flash-image',
+ provider: 'vercel-ai-gateway',
+ name: 'Nano Banana (Gemini 2.5 Flash Image)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 32768,
+ maxTokens: 65535,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-2.5-flash-lite',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 2.5 Flash Lite',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: true,
+ },
+ cost: { input: 0.1, output: 0.4, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 65535,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-2.5-pro',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 2.5 Pro',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: {
+ input: 1.25,
+ output: 10,
+ cacheRead: 0.125,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 15,
+ cacheRead: 0.25,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1048576,
+ maxTokens: 65536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 3 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { low: 'low', high: 'high' }, budget: false },
+ cost: { input: 0.5, output: 3, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 65000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3-pro-image',
+ provider: 'vercel-ai-gateway',
+ name: 'Nano Banana Pro',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 2, output: 12, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3.1-flash-image',
+ provider: 'vercel-ai-gateway',
+ name: 'Nano Banana 2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { low: 'low', high: 'high' }, budget: false },
+ cost: { input: 0.5, output: 3, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3.1-flash-image-preview',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 3.1 Flash Image Preview (Nano Banana 2)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { low: 'low', high: 'high' }, budget: false },
+ cost: { input: 0.5, output: 3, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3.1-flash-lite',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 3.1 Flash Lite',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { low: 'low', high: 'high' }, budget: false },
+ cost: { input: 0.25, output: 1.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 65000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3.1-flash-lite-image',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 3.1 Flash Lite Image (Nano Banana 2 Lite)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { low: 'low', high: 'high' }, budget: false },
+ cost: { input: 0.25, output: 1.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 65536,
+ maxTokens: 4096,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3.1-pro-preview',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 3.1 Pro Preview',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { low: 'low', high: 'high' }, budget: false },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200001,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3.5-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 3.5 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { low: 'low', high: 'high' }, budget: false },
+ cost: { input: 1.5, output: 9, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3.5-flash-lite',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 3.5 Flash Lite',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { low: 'low', high: 'high' }, budget: false },
+ cost: { input: 0.3, output: 2.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 65000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3.6-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 3.6 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { low: 'low', high: 'high' }, budget: false },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3.7-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 3.7 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { low: 'low', high: 'high' }, budget: false },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 65535,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3.8-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 3.8 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { low: 'low', high: 'high' }, budget: false },
+ cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 65535,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3.8-live',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 3.8 Live',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 0.75, output: 4.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-3.8-live-extended-thinking',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini 3.8 Live Extended Thinking',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 0.75, output: 4.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-nano-banana-2.1',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini Nano Banana 2.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 7.5, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemini-omni-flash-preview',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemini Omni Flash Preview',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 9, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 57920,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemma-4-26b-a4b-it',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemma 4 26B A4B IT',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'google/gemma-4-31b-it',
+ provider: 'vercel-ai-gateway',
+ name: 'Gemma 4 31B IT',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'inception/mercury-2',
+ provider: 'vercel-ai-gateway',
+ name: 'Mercury 2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 0.25,
+ output: 0.75,
+ cacheRead: 0.024999999999999998,
+ cacheWrite: 0,
+ },
+ contextWindow: 128000,
+ maxTokens: 50000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'inception/mercury-2.5',
+ provider: 'vercel-ai-gateway',
+ name: 'Mercury 2.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.04, output: 0.15, cacheRead: 0.004, cacheWrite: 0 },
+ contextWindow: 260000,
+ maxTokens: 65536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'inception/mercury-coder-small',
+ provider: 'vercel-ai-gateway',
+ name: 'Mercury Coder Small Beta',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.25, output: 1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32000,
+ maxTokens: 16384,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'inclusionai/ling-3.0-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'Ling 3.0 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.021, output: 0.063, cacheRead: 0.0042, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 32000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'inclusionai/ling-3.0-flash-fin',
+ provider: 'vercel-ai-gateway',
+ name: 'Ling 3.0 Flash Fin',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.075, output: 0.22, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 32000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'inclusionai/ling-3.0-flash-fin-free',
+ provider: 'vercel-ai-gateway',
+ name: 'inclusionAI: Ling 3.0 Flash Fin',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.075, output: 0.22, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 235929,
+ compat: { allowEmptySignature: true },
+ borrowedFrom: 'kilo/inclusionai/ling-3.0-flash-fin',
+ },
+ {
+ id: 'inclusionai/ling-3.0-flash-sante',
+ provider: 'vercel-ai-gateway',
+ name: 'Ling 3.0 Flash Sante',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 32000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'inclusionai/ling-3.0-flash-sante-free',
+ provider: 'vercel-ai-gateway',
+ name: 'Ling 3.0 Flash Sante (Free)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 32000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'inclusionai/ling-3.0-flash-vl',
+ provider: 'vercel-ai-gateway',
+ name: 'Ling 3.0 Flash VL',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.075, output: 0.22, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 32000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'inclusionai/ling-3.0-flash-vl-free',
+ provider: 'vercel-ai-gateway',
+ name: 'Ling 3.0 Flash VL',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'video'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.06, output: 0.18, cacheRead: 0.012, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ borrowedFrom: 'nano-gpt/inclusionai/ling-3.0-flash-vl',
+ },
+ {
+ id: 'inclusionai/ling-3.1-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'Ling 3.1 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'inclusionai/ling-3.1-flash-free',
+ provider: 'vercel-ai-gateway',
+ name: 'Ling 3.1 Flash (Free)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'inference-net/schematron-v2-small',
+ provider: 'vercel-ai-gateway',
+ name: 'Schematron V2 Small',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.05, output: 0.23, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'inference-net/schematron-v2-turbo',
+ provider: 'vercel-ai-gateway',
+ name: 'Schematron V2 Turbo',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.03, output: 0.15, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'interfaze/interfaze-beta',
+ provider: 'vercel-ai-gateway',
+ name: 'Interfaze Beta',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 3.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 32000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'liquid/d1',
+ provider: 'vercel-ai-gateway',
+ name: 'Liquid d1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32000,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'meituan/longcat-2.5-preview',
+ provider: 'vercel-ai-gateway',
+ name: 'LongCat 2.5 Preview',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.006, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'meta/llama-3.1-70b',
+ provider: 'vercel-ai-gateway',
+ name: 'Llama 3.1 70B Instruct',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.72, output: 0.72, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'meta/llama-3.1-8b',
+ provider: 'vercel-ai-gateway',
+ name: 'Llama 3.1 8B Instruct',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.22, output: 0.22, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 8192,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'meta/llama-3.3-70b',
+ provider: 'vercel-ai-gateway',
+ name: 'Llama-3.3-70B-Instruct',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'meta/llama-4-maverick',
+ provider: 'vercel-ai-gateway',
+ name: 'Llama-4-Maverick-17B-128E-Instruct-FP8',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'meta/llama-4-scout',
+ provider: 'vercel-ai-gateway',
+ name: 'Llama-4-Scout-17B-16E-Instruct-FP8',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'meta/muse-glimmer-30b',
+ provider: 'vercel-ai-gateway',
+ name: 'Muse Glimmer 30B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.35, output: 1.5, cacheRead: 0.04, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'meta/muse-spark-1.1',
+ provider: 'vercel-ai-gateway',
+ name: 'Muse Spark 1.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'meta/muse-spark-1.2',
+ provider: 'vercel-ai-gateway',
+ name: 'Muse Spark 1.2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'meta/muse-spark-1.2-contributor',
+ provider: 'vercel-ai-gateway',
+ name: 'Muse Spark 1.2 Contributor',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.2, cacheRead: 0.002, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'meta/muse-spark-1.3',
+ provider: 'vercel-ai-gateway',
+ name: 'Muse Spark 1.3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'meta/muse-spark-1.3-contributor',
+ provider: 'vercel-ai-gateway',
+ name: 'Muse Spark 1.3 Contributor',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.2, cacheRead: 0.002, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 1048576,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'minimax/minimax-m2',
+ provider: 'vercel-ai-gateway',
+ name: 'MiniMax M2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.03, cacheWrite: 0.375 },
+ contextWindow: 205000,
+ maxTokens: 196608,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'minimax/minimax-m2.1',
+ provider: 'vercel-ai-gateway',
+ name: 'MiniMax M2.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.03, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'minimax/minimax-m2.1-lightning',
+ provider: 'vercel-ai-gateway',
+ name: 'MiniMax M2.1 Lightning',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 0.3, output: 2.4, cacheRead: 0.03, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'minimax/minimax-m2.5',
+ provider: 'vercel-ai-gateway',
+ name: 'MiniMax M2.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.03, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'minimax/minimax-m2.5-highspeed',
+ provider: 'vercel-ai-gateway',
+ name: 'MiniMax M2.5 High Speed',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 0.6, output: 2.4, cacheRead: 0.03, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'minimax/minimax-m2.7',
+ provider: 'vercel-ai-gateway',
+ name: 'Minimax M2.7',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'minimax/minimax-m2.7-highspeed',
+ provider: 'vercel-ai-gateway',
+ name: 'MiniMax M2.7 High Speed',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 0.6, output: 2.4, cacheRead: 0.06, cacheWrite: 0.375 },
+ contextWindow: 204800,
+ maxTokens: 131100,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'minimax/minimax-m3',
+ provider: 'vercel-ai-gateway',
+ name: 'MiniMax M3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ },
+ cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 512000,
+ maxTokens: 512000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'mistral/codestral',
+ provider: 'vercel-ai-gateway',
+ name: 'Codestral (latest)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.3, output: 0.9, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 4096,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'mistral/ministral-14b',
+ provider: 'vercel-ai-gateway',
+ name: 'Ministral 14B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.2, output: 0.2, cacheRead: 0.02, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 256000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'mistral/ministral-3b',
+ provider: 'vercel-ai-gateway',
+ name: 'Ministral 3B (latest)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.04, output: 0.04, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'mistral/ministral-8b',
+ provider: 'vercel-ai-gateway',
+ name: 'Ministral 8B (latest)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.1, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'mistral/mistral-large-3',
+ provider: 'vercel-ai-gateway',
+ name: 'Mistral Large 3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.5, output: 1.5, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 256000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'mistral/mistral-large-4',
+ provider: 'vercel-ai-gateway',
+ name: 'Mistral Large 4',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.68, output: 2.09, cacheRead: 0.07, cacheWrite: 0 },
+ contextWindow: 524288,
+ maxTokens: 262144,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'mistral/mistral-medium-3.5',
+ provider: 'vercel-ai-gateway',
+ name: 'Mistral Medium Latest',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 1.5, output: 7.5, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 256000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'mistral/mistral-nemo',
+ provider: 'vercel-ai-gateway',
+ name: 'Mistral Nemo',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.04, output: 0.17, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 60288,
+ maxTokens: 16000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'mistral/mistral-small',
+ provider: 'vercel-ai-gateway',
+ name: 'Mistral Small (latest)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.015, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 4000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'mixedbread/toast-1',
+ provider: 'vercel-ai-gateway',
+ name: 'Toast 1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.3, output: 0.72, cacheRead: 0.036, cacheWrite: 0 },
+ contextWindow: 131000,
+ maxTokens: 4000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'moonshotai/kimi-k2',
+ provider: 'vercel-ai-gateway',
+ name: 'Kimi K2 Instruct',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.57, output: 2.3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'moonshotai/kimi-k2-thinking',
+ provider: 'vercel-ai-gateway',
+ name: 'Kimi K2 Thinking',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.47, output: 2, cacheRead: 0.141, cacheWrite: 0 },
+ contextWindow: 216144,
+ maxTokens: 216144,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'moonshotai/kimi-k2.5',
+ provider: 'vercel-ai-gateway',
+ name: 'Kimi K2.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 3, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'moonshotai/kimi-k2.6',
+ provider: 'vercel-ai-gateway',
+ name: 'Kimi K2.6',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 262000,
+ maxTokens: 262000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'moonshotai/kimi-k2.7-code',
+ provider: 'vercel-ai-gateway',
+ name: 'Kimi K2.7 Code',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.19, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'moonshotai/kimi-k2.7-code-highspeed',
+ provider: 'vercel-ai-gateway',
+ name: 'Kimi K2.7 Code High Speed',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.9, output: 8, cacheRead: 0.38, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'moonshotai/kimi-k3',
+ provider: 'vercel-ai-gateway',
+ name: 'Kimi K3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'moonshotai/kimi-k3-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'Kimi K3 Fast',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 4.5, output: 22.5, cacheRead: 0.45, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'morph/morph-v3-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'Morph v3 Fast',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.8, output: 1.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 16000,
+ maxTokens: 16000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'morph/morph-v3-large',
+ provider: 'vercel-ai-gateway',
+ name: 'Morph v3 Large',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.9, output: 1.9, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32000,
+ maxTokens: 32000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'nvidia/nemotron-3-nano-30b-a3b',
+ provider: 'vercel-ai-gateway',
+ name: 'Nemotron 3 Nano 30B A3B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.05, output: 0.2, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'nvidia/nemotron-3-super-120b-a12b',
+ provider: 'vercel-ai-gateway',
+ name: 'NVIDIA Nemotron 3 Super 120B A12B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.65, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 32000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'nvidia/nemotron-3-ultra-550b-a55b',
+ provider: 'vercel-ai-gateway',
+ name: 'Nemotron 3 Ultra',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.6, output: 2.4, cacheRead: 0.12, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 65000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'nvidia/nemotron-3.5-lightning',
+ provider: 'vercel-ai-gateway',
+ name: 'Nemotron 3.5 Lightning 30B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: true },
+ cost: { input: 0.05, output: 0.2, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'nvidia/nemotron-nano-12b-v2-vl',
+ provider: 'vercel-ai-gateway',
+ name: 'Nvidia Nemotron Nano 12B V2 VL',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.2, output: 0.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'nvidia/nemotron-nano-9b-v2',
+ provider: 'vercel-ai-gateway',
+ name: 'Nvidia Nemotron Nano 9B V2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.06, output: 0.23, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-3.5-turbo',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-3.5 Turbo',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.5, output: 1.5, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 16385,
+ maxTokens: 4096,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-4-turbo',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-4 Turbo',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 10, output: 30, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 4096,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-4.1',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-4.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-4.1-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-4.1 (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 3.5, output: 14, cacheRead: 0.875, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-4.1-mini',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-4.1 mini',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.4, output: 1.6, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-4.1-mini-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-4.1 mini (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.7, output: 2.8, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-4.1-nano',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-4.1 nano',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0.4, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-4.1-nano-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-4.1 nano (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.2, output: 0.8, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 1047576,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-4o',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-4o',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 2.5, output: 10, cacheRead: 1.25, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-4o-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-4o (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 4.25, output: 17, cacheRead: 2.125, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-4o-mini',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-4o mini',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.15, output: 0.6, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-4o-mini-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-4o mini (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.25, output: 1, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16384,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-5-codex',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-5-Codex',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.13, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-5-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-5 (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 20, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-5-mini',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-5 Mini',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 2, cacheRead: 0.025, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-5-mini-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-5 mini (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.45, output: 3.6, cacheRead: 0.045, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-5-nano',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-5 Nano',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.05, output: 0.4, cacheRead: 0.005, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-5-pro',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-5 pro',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { high: 'high' }, budget: false },
+ cost: { input: 15, output: 120, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 272000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.1-codex',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-5.1-Codex',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.13, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.1-codex-max',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.1 Codex Max',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.1-codex-mini',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-5.1 Codex mini',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.25, output: 2, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.1-thinking',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.1 Thinking',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.1-thinking-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.1 Thinking (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 2.5, output: 20, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.2',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-5.2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.2-codex',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-5.2-Codex',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.2-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.2 (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 3.5, output: 28, cacheRead: 0.35, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.2-pro',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.2 ',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 21, output: 168, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.3-codex',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.3 Codex',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.75, output: 14, cacheRead: 0.175, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.3-codex-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.3 Codex (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 3.5, output: 28, cacheRead: 0.35, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.4',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.4',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2.5,
+ output: 15,
+ cacheRead: 0.25,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 5,
+ output: 22.5,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.4-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.4 (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 5, output: 30, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.4-mini',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.4 Mini',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.75, output: 4.5, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.4-mini-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.4 Mini (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 1.5, output: 9, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.4-nano',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.4 Nano',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 1.25, cacheRead: 0.02, cacheWrite: 0 },
+ contextWindow: 400000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.4-pro',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.4 Pro',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 30,
+ output: 180,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 60,
+ output: 270,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.5',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 5,
+ output: 30,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 10,
+ output: 45,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.5-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.5 (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 12.5, output: 75, cacheRead: 1.25, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-5.5-pro',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.5 Pro',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 30,
+ output: 180,
+ cacheRead: 0,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 60,
+ output: 270,
+ cacheRead: 0,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.6-luna',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.6 Luna',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.2,
+ output: 1.2,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.4,
+ output: 1.8,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.6-luna-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.6 Luna (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.4,
+ output: 2.4,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 0.8,
+ output: 3.6,
+ cacheRead: 0.08,
+ cacheWrite: 1,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-5.6-sol',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.6 Sol',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 4,
+ output: 20,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 8,
+ output: 30,
+ cacheRead: 0.8,
+ cacheWrite: 10,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.6-sol-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.6 Sol (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 8,
+ output: 40,
+ cacheRead: 0.8,
+ cacheWrite: 10,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 16,
+ output: 60,
+ cacheRead: 1.6,
+ cacheWrite: 20,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-5.6-terra',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.6 Terra',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 12,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 4,
+ output: 18,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-5.6-terra-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT 5.6 Terra (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 4,
+ output: 24,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ tiers: [
+ {
+ inputTokensAbove: 272000,
+ input: 8,
+ output: 36,
+ cacheRead: 0.8,
+ cacheWrite: 10,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-6-astra',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-6 Astra',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 10,
+ output: 50,
+ cacheRead: 1,
+ cacheWrite: 12.5,
+ tiers: [
+ {
+ inputTokensAbove: 272001,
+ input: 20,
+ output: 75,
+ cacheRead: 2,
+ cacheWrite: 25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-6-astra-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-6 Astra (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 20,
+ output: 100,
+ cacheRead: 2,
+ cacheWrite: 25,
+ tiers: [
+ {
+ inputTokensAbove: 272001,
+ input: 40,
+ output: 150,
+ cacheRead: 4,
+ cacheWrite: 50,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-6-luna',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-6 Luna',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.1,
+ output: 0.5,
+ cacheRead: 0.01,
+ cacheWrite: 0.125,
+ tiers: [
+ {
+ inputTokensAbove: 272001,
+ input: 0.2,
+ output: 0.75,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-6-luna-decisions',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-6 Luna Decisions',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.1, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-6-luna-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-6 Luna (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 0.2,
+ output: 1,
+ cacheRead: 0.02,
+ cacheWrite: 0.25,
+ tiers: [
+ {
+ inputTokensAbove: 272001,
+ input: 0.4,
+ output: 1.5,
+ cacheRead: 0.04,
+ cacheWrite: 0.5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-6-sol',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-6 Sol',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272001,
+ input: 4,
+ output: 15,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-6-sol-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-6 Sol (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 4,
+ output: 20,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ tiers: [
+ {
+ inputTokensAbove: 272001,
+ input: 8,
+ output: 30,
+ cacheRead: 0.8,
+ cacheWrite: 10,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-6.1-sol',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-6.1 Sol',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.1,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 272001,
+ input: 4,
+ output: 15,
+ cacheRead: 0.2,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-6.1-sol-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-6.1 Sol (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 4,
+ output: 20,
+ cacheRead: 0.2,
+ cacheWrite: 5,
+ tiers: [
+ {
+ inputTokensAbove: 272001,
+ input: 8,
+ output: 30,
+ cacheRead: 0.4,
+ cacheWrite: 10,
+ },
+ ],
+ },
+ contextWindow: 1050000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/gpt-live-1',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-Live 1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-oss-120b',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT OSS 120B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.1, output: 0.5, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-oss-20b',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT OSS 20B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.03, output: 0.14, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 8192,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-oss-safeguard-120b',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT OSS Safeguard 120B',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.6, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-oss-safeguard-20b',
+ provider: 'vercel-ai-gateway',
+ name: 'gpt-oss-safeguard-20b',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.07, output: 0.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 16000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-realtime-1.5',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-Realtime-1.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 4, output: 16, cacheRead: 0.4, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-realtime-2',
+ provider: 'vercel-ai-gateway',
+ name: 'gpt-realtime-2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 4, output: 24, cacheRead: 0.4, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-realtime-2.1',
+ provider: 'vercel-ai-gateway',
+ name: 'gpt-realtime-2.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'audio'],
+ reasoning: {
+ levels: {
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ },
+ budget: false,
+ },
+ cost: { input: 4, output: 24, cacheRead: 0.4, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/gpt-realtime-mini',
+ provider: 'vercel-ai-gateway',
+ name: 'GPT-Realtime mini',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 0.6, output: 2.4, cacheRead: 0.06, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/o1',
+ provider: 'vercel-ai-gateway',
+ name: 'o1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 15, output: 60, cacheRead: 7.5, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/o3',
+ provider: 'vercel-ai-gateway',
+ name: 'o3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/o3-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'o3 (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 3.5, output: 14, cacheRead: 0.875, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/o3-mini',
+ provider: 'vercel-ai-gateway',
+ name: 'o3-mini',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.1, output: 4.4, cacheRead: 0.55, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/o3-pro',
+ provider: 'vercel-ai-gateway',
+ name: 'o3 Pro',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 20, output: 80, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'openai/o4-mini',
+ provider: 'vercel-ai-gateway',
+ name: 'o4-mini',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 1.1, output: 4.4, cacheRead: 0.275, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'openai/o4-mini-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'o4-mini (Fast)',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 100000,
+ compat: { allowEmptySignature: true, supportsTemperature: false },
+ },
+ {
+ id: 'perplexity/sonar',
+ provider: 'vercel-ai-gateway',
+ name: 'Sonar',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 0.25, output: 2.5, cacheRead: 0, cacheWrite: 0.0625 },
+ contextWindow: 127000,
+ maxTokens: 8000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'poolside/laguna-s-2.1',
+ provider: 'vercel-ai-gateway',
+ name: 'Laguna S 2.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.1, output: 0.2, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'poolside/laguna-s-2.1-free',
+ provider: 'vercel-ai-gateway',
+ name: 'Laguna S 2.1 Free',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 32768,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'quiverai/arrow-2',
+ provider: 'vercel-ai-gateway',
+ name: 'Arrow 2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 4, output: 20, cacheRead: 0.4, cacheWrite: 5 },
+ contextWindow: 131072,
+ maxTokens: 65536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'quiverai/arrow-2-telos',
+ provider: 'vercel-ai-gateway',
+ name: 'Arrow 2 Telos',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 6, output: 30, cacheRead: 0.6, cacheWrite: 7.5 },
+ contextWindow: 131072,
+ maxTokens: 65536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'sakana/fugu-max',
+ provider: 'vercel-ai-gateway',
+ name: 'Fugu Max',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { high: 'high', xhigh: 'xhigh' }, budget: false },
+ cost: { input: 2, output: 6, cacheRead: 0.25, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 1000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'sakana/fugu-ultra',
+ provider: 'vercel-ai-gateway',
+ name: 'Fugu Ultra',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { high: 'high', xhigh: 'xhigh' }, budget: false },
+ cost: {
+ input: 5,
+ output: 30,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272001,
+ input: 10,
+ output: 45,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 1000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'sakana/fugu-ultra-v2',
+ provider: 'vercel-ai-gateway',
+ name: 'Fugu Ultra v2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { high: 'high', xhigh: 'xhigh' }, budget: false },
+ cost: {
+ input: 5,
+ output: 30,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 272001,
+ input: 10,
+ output: 45,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 1000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'sakana/namazu',
+ provider: 'vercel-ai-gateway',
+ name: 'Sakana Namazu',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.95, output: 4, cacheRead: 0.15, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-4.1-fast-non-reasoning',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok 4.1 Fast Non-Reasoning',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: { input: 0.2, output: 0.5, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 1000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-4.1-fast-reasoning',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok 4.1 Fast Reasoning',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 0.5, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 1000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-4.20-multi-agent',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok 4.20 Multi-Agent',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200001,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 2000000,
+ maxTokens: 2000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-4.20-multi-agent-beta',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok 4.20 Multi Agent Beta',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200001,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 2000000,
+ maxTokens: 2000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-4.20-non-reasoning',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok 4.20 Non-Reasoning',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200001,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 2000000,
+ maxTokens: 2000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-4.20-non-reasoning-beta',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok 4.20 Beta Non-Reasoning',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200001,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 2000000,
+ maxTokens: 2000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-4.20-reasoning',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok 4.20 Reasoning',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200001,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 2000000,
+ maxTokens: 2000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-4.20-reasoning-beta',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok 4.20 Beta Reasoning',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200001,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 2000000,
+ maxTokens: 2000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-4.3',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok 4.3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200001,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 1000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-4.5',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok 4.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.3,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200001,
+ input: 4,
+ output: 12,
+ cacheRead: 0.6,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-4.6',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok 4.6',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200001,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-4.7',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok 4.7',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200001,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-build-0.1',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok Build 0.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 1,
+ output: 2,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200001,
+ input: 2,
+ output: 4,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-stt',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok STT',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['audio'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-voice-think-fast-1.0',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok Voice Think Fast 1.0',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'spacexai/grok-voice-think-fast-2.0',
+ provider: 'vercel-ai-gateway',
+ name: 'Grok Voice Think Fast 2.0',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'audio'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 0,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'stealth/pixel-canary',
+ provider: 'vercel-ai-gateway',
+ name: 'Pixel Canary',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'stepfun/step-3.5-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'StepFun 3.5 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.09, output: 0.3, cacheRead: 0.02, cacheWrite: 0 },
+ contextWindow: 262114,
+ maxTokens: 262114,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'stepfun/step-3.7-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'Step 3.7 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.2, output: 1.15, cacheRead: 0.04, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'stepfun/step-5-preview',
+ provider: 'vercel-ai-gateway',
+ name: 'Step 5 Preview',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: false,
+ cost: { input: 1, output: 2.7, cacheRead: 0.05, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 1000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'tencent/hy-mt2-lite',
+ provider: 'vercel-ai-gateway',
+ name: 'Tencent Hy-MT2-Lite',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.044, output: 0.177, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8000,
+ maxTokens: 4000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'tencent/hy-mt2-plus',
+ provider: 'vercel-ai-gateway',
+ name: 'Tencent Hy-MT2-Plus',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.074, output: 0.295, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8000,
+ maxTokens: 4000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'tencent/hy-mt2-pro',
+ provider: 'vercel-ai-gateway',
+ name: 'Tencent Hy-MT2-Pro',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.074, output: 0.295, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8000,
+ maxTokens: 4000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'tencent/hy3',
+ provider: 'vercel-ai-gateway',
+ name: 'Hy3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.58, cacheRead: 0.035, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 262144,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'tencent/hy4-preview',
+ provider: 'vercel-ai-gateway',
+ name: 'Tencent Hy4 Preview',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'none', high: 'high' }, budget: false },
+ cost: { input: 0.834, output: 2.501, cacheRead: 0.042, cacheWrite: 0 },
+ contextWindow: 1024000,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'thinkingmachines/inkling',
+ provider: 'vercel-ai-gateway',
+ name: 'Inkling',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 1, output: 4.05, cacheRead: 0.17, cacheWrite: 0 },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'thinkingmachines/inkling-small',
+ provider: 'vercel-ai-gateway',
+ name: 'Inkling Small',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ max: 'max',
+ },
+ budget: false,
+ },
+ cost: { input: 0.45, output: 1.2, cacheRead: 0.1, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 1000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'typesafe-ai/jev',
+ provider: 'vercel-ai-gateway',
+ name: 'Jev',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0.042, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32000,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'voyage/voyage-3-large',
+ provider: 'vercel-ai-gateway',
+ name: 'voyage-3-large',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 1536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'voyage/voyage-3.5',
+ provider: 'vercel-ai-gateway',
+ name: 'voyage-3.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 1536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'voyage/voyage-3.5-lite',
+ provider: 'vercel-ai-gateway',
+ name: 'voyage-3.5-lite',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 1536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'voyage/voyage-4',
+ provider: 'vercel-ai-gateway',
+ name: 'voyage-4',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32000,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'voyage/voyage-4-large',
+ provider: 'vercel-ai-gateway',
+ name: 'voyage-4-large',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32000,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'voyage/voyage-4-lite',
+ provider: 'vercel-ai-gateway',
+ name: 'voyage-4-lite',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 32000,
+ maxTokens: 0,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'voyage/voyage-code-2',
+ provider: 'vercel-ai-gateway',
+ name: 'voyage-code-2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 1536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'voyage/voyage-code-3',
+ provider: 'vercel-ai-gateway',
+ name: 'voyage-code-3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 1536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'voyage/voyage-finance-2',
+ provider: 'vercel-ai-gateway',
+ name: 'voyage-finance-2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 1536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'voyage/voyage-law-2',
+ provider: 'vercel-ai-gateway',
+ name: 'voyage-law-2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: false,
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 8192,
+ maxTokens: 1536,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'xiaomi/mimo-v2.5',
+ provider: 'vercel-ai-gateway',
+ name: 'MiMo M2.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 131100,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'xiaomi/mimo-v2.5-pro',
+ provider: 'vercel-ai-gateway',
+ name: 'MiMo V2.5 Pro',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.0036, cacheWrite: 0 },
+ contextWindow: 1050000,
+ maxTokens: 131000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'xiaomi/mimo-v2.6-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'MiMo V2.6 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'xiaomi/mimo-v2.6-pro',
+ provider: 'vercel-ai-gateway',
+ name: 'MiMo V2.6 Pro',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.0036, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'xiaomi/mimo-v2.6-pro-ultraspeed',
+ provider: 'vercel-ai-gateway',
+ name: 'MiMo V2.6 Pro UltraSpeed',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: {
+ off: 'none',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: { input: 4.35, output: 8.7, cacheRead: 0.036, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-4.5',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 4.5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0.11, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 96000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-4.5-air',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 4.5 Air',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.2, output: 1.1, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 96000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-4.5v',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 4.5V',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 1.8, cacheRead: 0.11, cacheWrite: 0 },
+ contextWindow: 66000,
+ maxTokens: 16000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-4.6',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 4.6',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0.11, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 96000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-4.7',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 4.7',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 120000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-4.7-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 4.7 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.07, output: 0.4, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 131000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-4.7-flashx',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 4.7 FlashX',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.06, output: 0.4, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-5',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM-5',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1, output: 3.2, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 202800,
+ maxTokens: 131100,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-5-turbo',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 5 Turbo',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.2, output: 4, cacheRead: 0.24, cacheWrite: 0 },
+ contextWindow: 202800,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-5.1',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 5.1',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 202800,
+ maxTokens: 64000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-5.2',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 5.2',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.8, output: 2.55, cacheRead: 0.16, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-5.2-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 5.2 Fast',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 2.8, output: 8.8, cacheRead: 0.56, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-5.3',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 5.3',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.14, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 1000000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-5.3-fast',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 5.3 Fast',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: { input: 2.1, output: 6.6, cacheRead: 0.21, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 262144,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-5.3-flash',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 5.3 Flash',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131000,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-5.3-flashx',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 5.3 FlashX',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.37, output: 1.25, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: { allowEmptySignature: true },
+ },
+ {
+ id: 'zai/glm-5v-turbo',
+ provider: 'vercel-ai-gateway',
+ name: 'GLM 5V Turbo',
+ api: 'anthropic-messages',
+ baseUrl: 'https://ai-gateway.vercel.sh',
+ input: ['text', 'image', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.2, output: 4, cacheRead: 0.24, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 128000,
+ compat: { allowEmptySignature: true },
+ },
+]
diff --git a/packages/ai-models/src/providers/xai.ts b/packages/ai-models/src/providers/xai.ts
new file mode 100644
index 0000000000..6c829c1023
--- /dev/null
+++ b/packages/ai-models/src/providers/xai.ts
@@ -0,0 +1,264 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** xAI. */
+export const provider: ProviderRecord = {
+ id: 'xai',
+ name: 'xAI',
+ baseUrl: 'https://api.x.ai/v1',
+ apis: ['openai-responses'],
+ env: [['XAI_API_KEY']],
+}
+
+/** Every xAI model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'grok-4.20-0309-non-reasoning',
+ provider: 'xai',
+ name: 'Grok 4.20 (Non-Reasoning)',
+ api: 'openai-responses',
+ baseUrl: 'https://api.x.ai/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: false,
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 30000,
+ compat: { supportsLongCacheRetention: false },
+ },
+ {
+ id: 'grok-4.20-0309-reasoning',
+ provider: 'xai',
+ name: 'Grok 4.20 (Reasoning)',
+ api: 'openai-responses',
+ baseUrl: 'https://api.x.ai/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 30000,
+ compat: { supportsLongCacheRetention: false },
+ },
+ {
+ id: 'grok-4.20-multi-agent-0309',
+ provider: 'xai',
+ name: 'Grok 4.20 Multi-Agent',
+ api: 'openai-responses',
+ baseUrl: 'https://api.x.ai/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 30000,
+ compat: { supportsLongCacheRetention: false },
+ },
+ {
+ id: 'grok-4.3',
+ provider: 'xai',
+ name: 'Grok 4.3',
+ api: 'openai-responses',
+ baseUrl: 'https://api.x.ai/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { off: 'none', low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 1.25,
+ output: 2.5,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2.5,
+ output: 5,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 1000000,
+ maxTokens: 30000,
+ compat: { supportsLongCacheRetention: false },
+ },
+ {
+ id: 'grok-4.5',
+ provider: 'xai',
+ name: 'Grok 4.5',
+ api: 'openai-responses',
+ baseUrl: 'https://api.x.ai/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.3,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 0.6,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: { supportsLongCacheRetention: false },
+ },
+ {
+ id: 'grok-4.6',
+ provider: 'xai',
+ name: 'Grok 4.6',
+ api: 'openai-responses',
+ baseUrl: 'https://api.x.ai/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: { supportsLongCacheRetention: false },
+ },
+ {
+ id: 'grok-4.7',
+ provider: 'xai',
+ name: 'Grok 4.7',
+ api: 'openai-responses',
+ baseUrl: 'https://api.x.ai/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: { low: 'low', medium: 'medium', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ cost: {
+ input: 2,
+ output: 6,
+ cacheRead: 0.5,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 4,
+ output: 12,
+ cacheRead: 1,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 500000,
+ maxTokens: 500000,
+ compat: { supportsLongCacheRetention: false },
+ },
+ {
+ id: 'grok-build-0.1',
+ provider: 'xai',
+ name: 'Grok Build 0.1',
+ api: 'openai-responses',
+ baseUrl: 'https://api.x.ai/v1',
+ input: ['text', 'image', 'document'],
+ reasoning: {
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: false,
+ },
+ cost: {
+ input: 1,
+ output: 2,
+ cacheRead: 0.2,
+ cacheWrite: 0,
+ tiers: [
+ {
+ inputTokensAbove: 200000,
+ input: 2,
+ output: 4,
+ cacheRead: 0.4,
+ cacheWrite: 0,
+ },
+ ],
+ },
+ contextWindow: 256000,
+ maxTokens: 256000,
+ compat: { supportsLongCacheRetention: false },
+ },
+]
diff --git a/packages/ai-models/src/providers/xiaomi-token-plan-ams.ts b/packages/ai-models/src/providers/xiaomi-token-plan-ams.ts
new file mode 100644
index 0000000000..a52ef9e139
--- /dev/null
+++ b/packages/ai-models/src/providers/xiaomi-token-plan-ams.ts
@@ -0,0 +1,83 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Xiaomi MiMo Token Plan (Amsterdam). */
+export const provider: ProviderRecord = {
+ id: 'xiaomi-token-plan-ams',
+ name: 'Xiaomi MiMo Token Plan (Amsterdam)',
+ baseUrl: 'https://token-plan-ams.xiaomimimo.com/v1',
+ apis: ['openai-completions'],
+ env: [['XIAOMI_TOKEN_PLAN_AMS_API_KEY']],
+}
+
+/** Every Xiaomi MiMo Token Plan (Amsterdam) model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'mimo-v2.5',
+ provider: 'xiaomi-token-plan-ams',
+ name: 'MiMo-V2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://token-plan-ams.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.5-pro',
+ provider: 'xiaomi-token-plan-ams',
+ name: 'MiMo-V2.5-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://token-plan-ams.xiaomimimo.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.0036, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.6-flash',
+ provider: 'xiaomi-token-plan-ams',
+ name: 'MiMo-V2.6-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://token-plan-ams.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.6-pro',
+ provider: 'xiaomi-token-plan-ams',
+ name: 'MiMo-V2.6-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://token-plan-ams.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.0036, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/xiaomi-token-plan-cn.ts b/packages/ai-models/src/providers/xiaomi-token-plan-cn.ts
new file mode 100644
index 0000000000..6c649c1d4b
--- /dev/null
+++ b/packages/ai-models/src/providers/xiaomi-token-plan-cn.ts
@@ -0,0 +1,83 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Xiaomi MiMo Token Plan (China). */
+export const provider: ProviderRecord = {
+ id: 'xiaomi-token-plan-cn',
+ name: 'Xiaomi MiMo Token Plan (China)',
+ baseUrl: 'https://token-plan-cn.xiaomimimo.com/v1',
+ apis: ['openai-completions'],
+ env: [['XIAOMI_TOKEN_PLAN_CN_API_KEY']],
+}
+
+/** Every Xiaomi MiMo Token Plan (China) model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'mimo-v2.5',
+ provider: 'xiaomi-token-plan-cn',
+ name: 'MiMo-V2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://token-plan-cn.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.5-pro',
+ provider: 'xiaomi-token-plan-cn',
+ name: 'MiMo-V2.5-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://token-plan-cn.xiaomimimo.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.0036, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.6-flash',
+ provider: 'xiaomi-token-plan-cn',
+ name: 'MiMo-V2.6-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://token-plan-cn.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.6-pro',
+ provider: 'xiaomi-token-plan-cn',
+ name: 'MiMo-V2.6-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://token-plan-cn.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.0036, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/xiaomi-token-plan-sgp.ts b/packages/ai-models/src/providers/xiaomi-token-plan-sgp.ts
new file mode 100644
index 0000000000..629b63e9d6
--- /dev/null
+++ b/packages/ai-models/src/providers/xiaomi-token-plan-sgp.ts
@@ -0,0 +1,83 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Xiaomi MiMo Token Plan (Singapore). */
+export const provider: ProviderRecord = {
+ id: 'xiaomi-token-plan-sgp',
+ name: 'Xiaomi MiMo Token Plan (Singapore)',
+ baseUrl: 'https://token-plan-sgp.xiaomimimo.com/v1',
+ apis: ['openai-completions'],
+ env: [['XIAOMI_TOKEN_PLAN_SGP_API_KEY']],
+}
+
+/** Every Xiaomi MiMo Token Plan (Singapore) model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'mimo-v2.5',
+ provider: 'xiaomi-token-plan-sgp',
+ name: 'MiMo-V2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://token-plan-sgp.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.5-pro',
+ provider: 'xiaomi-token-plan-sgp',
+ name: 'MiMo-V2.5-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://token-plan-sgp.xiaomimimo.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.0036, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.6-flash',
+ provider: 'xiaomi-token-plan-sgp',
+ name: 'MiMo-V2.6-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://token-plan-sgp.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.6-pro',
+ provider: 'xiaomi-token-plan-sgp',
+ name: 'MiMo-V2.6-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://token-plan-sgp.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.0036, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/xiaomi.ts b/packages/ai-models/src/providers/xiaomi.ts
new file mode 100644
index 0000000000..257f52a457
--- /dev/null
+++ b/packages/ai-models/src/providers/xiaomi.ts
@@ -0,0 +1,168 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Xiaomi MiMo. */
+export const provider: ProviderRecord = {
+ id: 'xiaomi',
+ name: 'Xiaomi MiMo',
+ baseUrl: 'https://api.xiaomimimo.com/v1',
+ apis: ['openai-completions'],
+ env: [['XIAOMI_API_KEY']],
+}
+
+/** Every Xiaomi MiMo model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'mimo-v2-flash',
+ provider: 'xiaomi',
+ name: 'MiMo-V2-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://api.xiaomimimo.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 65536,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2-omni',
+ provider: 'xiaomi',
+ name: 'MiMo-V2-Omni',
+ api: 'openai-completions',
+ baseUrl: 'https://api.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 262144,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2-pro',
+ provider: 'xiaomi',
+ name: 'MiMo-V2-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://api.xiaomimimo.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.0036, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.5',
+ provider: 'xiaomi',
+ name: 'MiMo-V2.5',
+ api: 'openai-completions',
+ baseUrl: 'https://api.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.5-pro',
+ provider: 'xiaomi',
+ name: 'MiMo-V2.5-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://api.xiaomimimo.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.0036, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.5-pro-ultraspeed',
+ provider: 'xiaomi',
+ name: 'MiMo-V2.5-Pro-UltraSpeed',
+ api: 'openai-completions',
+ baseUrl: 'https://api.xiaomimimo.com/v1',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.305, output: 2.61, cacheRead: 0.0108, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.6-flash',
+ provider: 'xiaomi',
+ name: 'MiMo-V2.6-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://api.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.14, output: 0.28, cacheRead: 0.0028, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.6-pro',
+ provider: 'xiaomi',
+ name: 'MiMo-V2.6-Pro',
+ api: 'openai-completions',
+ baseUrl: 'https://api.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.435, output: 0.87, cacheRead: 0.0036, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+ {
+ id: 'mimo-v2.6-pro-ultraspeed',
+ provider: 'xiaomi',
+ name: 'MiMo-V2.6-Pro-UltraSpeed',
+ api: 'openai-completions',
+ baseUrl: 'https://api.xiaomimimo.com/v1',
+ input: ['text', 'image', 'audio', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 4.35, output: 8.7, cacheRead: 0.036, cacheWrite: 0 },
+ contextWindow: 1048576,
+ maxTokens: 131072,
+ compat: {
+ supportsStrictMode: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ thinkingFormat: 'deepseek',
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/zai-coding-cn.ts b/packages/ai-models/src/providers/zai-coding-cn.ts
new file mode 100644
index 0000000000..474efe1c7f
--- /dev/null
+++ b/packages/ai-models/src/providers/zai-coding-cn.ts
@@ -0,0 +1,199 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Zhipu AI Coding Plan. */
+export const provider: ProviderRecord = {
+ id: 'zai-coding-cn',
+ name: 'Zhipu AI Coding Plan',
+ baseUrl: 'https://open.bigmodel.cn/api/coding/paas/v4',
+ apis: ['openai-completions'],
+ env: [['ZAI_CODING_CN_API_KEY']],
+}
+
+/** Every Zhipu AI Coding Plan model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'glm-4.6v',
+ provider: 'zai-coding-cn',
+ name: 'GLM-4.6V',
+ api: 'openai-completions',
+ baseUrl: 'https://open.bigmodel.cn/api/coding/paas/v4',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.3, output: 0.9, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-4.7',
+ provider: 'zai-coding-cn',
+ name: 'GLM-4.7',
+ api: 'openai-completions',
+ baseUrl: 'https://open.bigmodel.cn/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-5-turbo',
+ provider: 'zai-coding-cn',
+ name: 'GLM-5-Turbo',
+ api: 'openai-completions',
+ baseUrl: 'https://open.bigmodel.cn/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-5.2',
+ provider: 'zai-coding-cn',
+ name: 'GLM-5.2',
+ api: 'openai-completions',
+ baseUrl: 'https://open.bigmodel.cn/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { high: 'high', max: 'max' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'glm-5.2-highspeed',
+ provider: 'zai-coding-cn',
+ name: 'GLM-5.2 Highspeed',
+ api: 'openai-completions',
+ baseUrl: 'https://open.bigmodel.cn/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { high: 'high', max: 'max' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'glm-5.3',
+ provider: 'zai-coding-cn',
+ name: 'GLM-5.3',
+ api: 'openai-completions',
+ baseUrl: 'https://open.bigmodel.cn/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'glm-5.3-flash',
+ provider: 'zai-coding-cn',
+ name: 'GLM-5.3-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://open.bigmodel.cn/api/coding/paas/v4',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'glm-5.3-highspeed',
+ provider: 'zai-coding-cn',
+ name: 'GLM-5.3 Highspeed',
+ api: 'openai-completions',
+ baseUrl: 'https://open.bigmodel.cn/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+]
diff --git a/packages/ai-models/src/providers/zai.ts b/packages/ai-models/src/providers/zai.ts
new file mode 100644
index 0000000000..879ba1b8c6
--- /dev/null
+++ b/packages/ai-models/src/providers/zai.ts
@@ -0,0 +1,460 @@
+// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.
+import type { ModelRecord, ProviderRecord } from '../types'
+
+/** Z.AI. */
+export const provider: ProviderRecord = {
+ id: 'zai',
+ name: 'Z.AI',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ apis: ['openai-completions'],
+ env: [['ZAI_API_KEY']],
+}
+
+/** Every Z.AI model, sorted by id. */
+export const models: ReadonlyArray = [
+ {
+ id: 'glm-4.5',
+ provider: 'zai',
+ name: 'GLM-4.5',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0.11, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 98304,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-4.5-air',
+ provider: 'zai',
+ name: 'GLM-4.5-Air',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.2, output: 1.1, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 98304,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-4.5-flash',
+ provider: 'zai',
+ name: 'GLM-4.5-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 131072,
+ maxTokens: 98304,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-4.5v',
+ provider: 'zai',
+ name: 'GLM-4.5V',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 1.8, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 64000,
+ maxTokens: 16384,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-4.6',
+ provider: 'zai',
+ name: 'GLM-4.6',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0.11, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-4.6v',
+ provider: 'zai',
+ name: 'GLM-4.6V',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.3, output: 0.9, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-4.6v-flash',
+ provider: 'zai',
+ name: 'GLM-4.6V-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text', 'image', 'video'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 128000,
+ maxTokens: 32768,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-4.7',
+ provider: 'zai',
+ name: 'GLM-4.7',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.6, output: 2.2, cacheRead: 0.11, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-4.7-flash',
+ provider: 'zai',
+ name: 'GLM-4.7-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-4.7-flashx',
+ provider: 'zai',
+ name: 'GLM-4.7-FlashX',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 0.07, output: 0.4, cacheRead: 0.01, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-5',
+ provider: 'zai',
+ name: 'GLM-5',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1, output: 3.2, cacheRead: 0.2, cacheWrite: 0 },
+ contextWindow: 204800,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-5-turbo',
+ provider: 'zai',
+ name: 'GLM-5-Turbo',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.2, output: 4, cacheRead: 0.24, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-5.1',
+ provider: 'zai',
+ name: 'GLM-5.1',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+ {
+ id: 'glm-5.2',
+ provider: 'zai',
+ name: 'GLM-5.2',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { high: 'high', max: 'max' }, budget: false },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'glm-5.2-highspeed',
+ provider: 'zai',
+ name: 'GLM-5.2 Highspeed',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: { levels: { high: 'high', max: 'max' }, budget: false },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ borrowedFrom: 'zai-coding-plan/glm-5.2-highspeed',
+ },
+ {
+ id: 'glm-5.3',
+ provider: 'zai',
+ name: 'GLM-5.3',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 1.4, output: 4.4, cacheRead: 0.26, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'glm-5.3-flash',
+ provider: 'zai',
+ name: 'GLM-5.3-Flash',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.15, output: 0.5, cacheRead: 0.03, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'glm-5.3-flashx',
+ provider: 'zai',
+ name: 'GLM-5.3-FlashX',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0.37, output: 1.25, cacheRead: 0.075, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ },
+ {
+ id: 'glm-5.3-highspeed',
+ provider: 'zai',
+ name: 'GLM-5.3 Highspeed',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text'],
+ reasoning: {
+ levels: { low: 'low', high: 'high', max: 'max' },
+ budget: false,
+ },
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
+ contextWindow: 1000000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: true,
+ },
+ borrowedFrom: 'zhipuai-coding-plan/glm-5.3-highspeed',
+ },
+ {
+ id: 'glm-5v-turbo',
+ provider: 'zai',
+ name: 'GLM-5V-Turbo',
+ api: 'openai-completions',
+ baseUrl: 'https://api.z.ai/api/coding/paas/v4',
+ input: ['text', 'image', 'video', 'document'],
+ reasoning: { levels: { off: 'off', high: 'high' }, budget: false },
+ cost: { input: 1.2, output: 4, cacheRead: 0.24, cacheWrite: 0 },
+ contextWindow: 200000,
+ maxTokens: 131072,
+ compat: {
+ supportsStore: false,
+ supportsDeveloperRole: false,
+ maxTokensField: 'max_tokens',
+ thinkingFormat: 'zai',
+ supportsStrictMode: true,
+ zaiToolStream: true,
+ requiresReasoningContentOnAssistantMessages: true,
+ supportsReasoningEffort: false,
+ },
+ },
+]
diff --git a/packages/ai-models/src/reasoning.ts b/packages/ai-models/src/reasoning.ts
new file mode 100644
index 0000000000..b96b4389df
--- /dev/null
+++ b/packages/ai-models/src/reasoning.ts
@@ -0,0 +1,47 @@
+import type { ModelRecord, ReasoningLevel } from './types'
+
+// ponytail: the same rules as `supportedReasoningLevels` and
+// `clampReasoningLevel` in `@tanstack/ai` (pi's rules). They are copied so
+// this package has no dependencies. A test runs both on the same data.
+const LEVELS: ReadonlyArray = [
+ 'off',
+ 'minimal',
+ 'low',
+ 'medium',
+ 'high',
+ 'xhigh',
+ 'max',
+]
+
+/**
+ * The levels a model supports, from least to most thinking: the levels in
+ * its `reasoning` data. A model that does not reason supports only `off`.
+ */
+export function supportedReasoningLevels(
+ model: Pick,
+): ReadonlyArray {
+ const reasoning = model.reasoning
+ if (!reasoning) return ['off']
+ return LEVELS.filter((level) => level in reasoning.levels)
+}
+
+/**
+ * The level to use: `level` when the model supports it, else the nearest
+ * supported level above it, else the nearest below it, else `off`.
+ */
+export function clampReasoningLevel(
+ model: Pick,
+ level: ReasoningLevel,
+): ReasoningLevel {
+ const supported = supportedReasoningLevels(model)
+ if (supported.includes(level)) return level
+ const index = LEVELS.indexOf(level)
+ const above = LEVELS.slice(index + 1).find((candidate) =>
+ supported.includes(candidate),
+ )
+ if (above) return above
+ const below = LEVELS.slice(0, index)
+ .reverse()
+ .find((candidate) => supported.includes(candidate))
+ return below ?? supported[0] ?? 'off'
+}
diff --git a/packages/ai-models/src/types.ts b/packages/ai-models/src/types.ts
new file mode 100644
index 0000000000..300b0c8840
--- /dev/null
+++ b/packages/ai-models/src/types.ts
@@ -0,0 +1,180 @@
+/**
+ * How hard a model thinks. The same levels as `chat({ reasoning })` in
+ * `@tanstack/ai`, declared here too so this package has no dependencies.
+ */
+export type ReasoningLevel =
+ | 'off'
+ | 'minimal'
+ | 'low'
+ | 'medium'
+ | 'high'
+ | 'xhigh'
+ | 'max'
+
+/**
+ * A model's levels: the provider value to send for each level the model has.
+ * A level with no entry is not supported. The same as `ReasoningLevels` in
+ * `@tanstack/ai`.
+ */
+export type ReasoningLevels = Partial>
+
+/**
+ * A model's reasoning data. `false`: the model does not reason. Otherwise
+ * the levels it has, and whether it takes a thinking token budget. The same
+ * shape as `ModelReasoning` in `@tanstack/ai`, so an adapter can read it.
+ */
+export type ModelReasoning =
+ | false
+ | { levels: ReasoningLevels; budget: boolean }
+
+/** The wire protocol of a model. It picks the adapter. */
+export type WireApi =
+ | 'anthropic-messages'
+ | 'openai-completions'
+ | 'openai-responses'
+ | 'azure-openai-responses'
+ | 'google-generative-ai'
+ | 'google-vertex'
+ | 'bedrock-converse-stream'
+ | 'mistral-conversations'
+
+/** The input kinds a model reads. */
+export type InputModality = 'text' | 'image' | 'audio' | 'video' | 'document'
+
+/** How a Chat Completions request asks for thinking. */
+export type ThinkingFormat =
+ | 'openai'
+ | 'deepseek'
+ | 'zai'
+ | 'qwen'
+ | 'qwen-chat-template'
+ | 'chat-template'
+ | 'baseten'
+ | 'openrouter'
+ | 'together'
+ | 'string-thinking'
+ | 'ant-ling'
+
+/**
+ * Wire quirks of a model: the provider rule merged with the model's own
+ * hints (the model wins). An absent field means "the adapter default".
+ * The Chat Completions fields follow pi's `OpenAICompletionsCompat`.
+ */
+export interface ModelCompat {
+ // Chat Completions request shape.
+ thinkingFormat?: ThinkingFormat
+ supportsReasoningEffort?: boolean
+ supportsDeveloperRole?: boolean
+ maxTokensField?: 'max_completion_tokens' | 'max_tokens'
+ requiresReasoningContentOnAssistantMessages?: boolean
+ supportsStore?: boolean
+ supportsStrictMode?: boolean
+ supportsUsageInStreaming?: boolean
+ zaiToolStream?: boolean
+ sendSessionAffinityHeaders?: boolean
+ sessionAffinityFormat?: 'openai' | 'openrouter' | 'openai-nosession'
+ cacheControlFormat?: 'anthropic'
+ supportsLongCacheRetention?: boolean
+ thinkingTokenBudgetField?: string
+ chatTemplateKwargs?: Record
+ chatTemplateArgs?: Record
+ supportsTemperature?: boolean
+ // Anthropic Messages.
+ forceAdaptiveThinking?: boolean
+ /** The level goes into the messages, not into `output_config` (pi's flag). */
+ supportsMidConvoEffort?: boolean
+ supportsMidConvoSystemMessages?: boolean
+ supportsStrictTools?: boolean
+ allowEmptySignature?: boolean
+ supportsEagerToolInputStreaming?: boolean
+ supportsCacheControlOnTools?: boolean
+ // OpenAI Responses.
+ supportsAdditionalTools?: boolean
+ supportsToolSearch?: boolean
+ supportsOpenAIGrammarTools?: boolean
+ /** `true`: the model takes `prompt_cache_options` (OpenAI gpt-5.6 and later); older models reject it. */
+ supportsExplicitPromptCacheMode?: boolean
+}
+
+/** Prices in USD per 1M tokens. */
+export interface ModelCostRates {
+ input: number
+ output: number
+ cacheRead: number
+ cacheWrite: number
+ /**
+ * Higher prices for a call with more input, for example long context. A
+ * call uses the tier with the highest `inputTokensAbove` below its input
+ * (uncached + cache read + cache write). Same rule as pi.
+ */
+ tiers?: ReadonlyArray
+}
+
+/** The prices of a call with more than `inputTokensAbove` input tokens. */
+export interface ModelCostTier {
+ inputTokensAbove: number
+ input: number
+ output: number
+ cacheRead: number
+ cacheWrite: number
+}
+
+/** One model of one provider. */
+export interface ModelRecord {
+ /** The model id to send. pi uses the same ids. */
+ id: string
+ /** The provider id, for example `'deepseek'`. */
+ provider: string
+ name: string
+ api: WireApi
+ /** The default endpoint. `{VAR}` parts come from the environment. */
+ baseUrl: string
+ input: ReadonlyArray
+ reasoning: ModelReasoning
+ cost: ModelCostRates
+ /** Tokens. `0` means not known. */
+ contextWindow: number
+ /** The most output tokens. `0` means not known. */
+ maxTokens: number
+ headers?: Readonly>
+ compat?: ModelCompat
+ /** The data came from the same model at another provider, for example `'anthropic/claude-sonnet-4-5'`. */
+ borrowedFrom?: string
+}
+
+/** One provider. */
+export interface ProviderRecord {
+ id: string
+ name: string
+ /** The default endpoint. A model can have its own `baseUrl`. */
+ baseUrl: string
+ apis: ReadonlyArray
+ /**
+ * Where the credentials come from: a list of alternatives. Each one is a
+ * set of environment variables that must all be set, for example
+ * `[['AWS_PROFILE'], ['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY']]`.
+ */
+ env: ReadonlyArray>
+}
+
+/** Token counts of one call. `input` is the uncached input only. */
+export interface TokenCounts {
+ input: number
+ output: number
+ cacheRead?: number
+ cacheWrite?: number
+ /**
+ * The part of `cacheWrite` written with a 1-hour retention
+ * (`promptCache: 'long'` on Anthropic). It costs 2x the input price.
+ */
+ cacheWrite1h?: number
+}
+
+/** What a call cost, in USD. */
+export interface Cost {
+ input: number
+ output: number
+ cacheRead: number
+ cacheWrite: number
+ total: number
+}
diff --git a/packages/ai-models/tests/catalog.test.ts b/packages/ai-models/tests/catalog.test.ts
new file mode 100644
index 0000000000..3b6c2b79a7
--- /dev/null
+++ b/packages/ai-models/tests/catalog.test.ts
@@ -0,0 +1,251 @@
+import { describe, expect, it } from 'vitest'
+import {
+ clampReasoningLevel as coreClamp,
+ supportedReasoningLevels as coreSupported,
+} from '@tanstack/ai'
+import type { ModelReasoning as CoreModelReasoning } from '@tanstack/ai'
+import {
+ clampReasoningLevel,
+ generatedAt,
+ getModel,
+ getModels,
+ getProviders,
+ modelCost,
+ supportedReasoningLevels,
+} from '../src'
+import * as deepseek from '../src/providers/deepseek'
+import type { Cost, ModelReasoning, ReasoningLevel } from '../src'
+
+describe('the catalog', () => {
+ it('has one module per provider, and the root lists them all', () => {
+ expect(getProviders()).toHaveLength(38)
+ expect(getModels('deepseek')).toBe(deepseek.models)
+ expect(getModels('unknown')).toEqual([])
+ expect(generatedAt).toMatch(/^\d{4}-\d{2}-\d{2}$/)
+ })
+
+ it('finds a model and gives its quirks (DeepSeek replays reasoning)', () => {
+ const model = getModel('deepseek', 'deepseek-v4-flash')
+ expect(model).toMatchObject({
+ provider: 'deepseek',
+ api: 'openai-completions',
+ baseUrl: 'https://api.deepseek.com',
+ reasoning: { levels: { off: 'none', max: 'max' }, budget: false },
+ compat: {
+ thinkingFormat: 'deepseek',
+ maxTokensField: 'max_tokens',
+ requiresReasoningContentOnAssistantMessages: true,
+ },
+ })
+ expect(model?.contextWindow).toBeGreaterThan(0)
+ expect(getModel('deepseek', 'no-such-model')).toBeUndefined()
+ })
+
+ it('serves OpenRouter Claude on the Anthropic wire, and the rest on completions', () => {
+ expect(getModel('openrouter', 'anthropic/claude-opus-4.5')).toMatchObject({
+ api: 'anthropic-messages',
+ baseUrl: 'https://openrouter.ai/api',
+ compat: { cacheControlFormat: 'anthropic', supportsDeveloperRole: true },
+ })
+ expect(
+ getModels('openrouter').find((model) => model.id.startsWith('z-ai/')),
+ ).toMatchObject({
+ api: 'openai-completions',
+ compat: { thinkingFormat: 'openrouter', supportsDeveloperRole: false },
+ })
+ })
+
+ it('leaves out models that are on another wire (Claude on Azure and Vertex)', () => {
+ for (const provider of ['azure-openai-responses', 'google-vertex'])
+ expect(
+ getModels(provider).filter((model) => model.id.startsWith('claude-')),
+ ).toEqual([])
+ })
+
+ it('lists credential alternatives, each a set of variables', () => {
+ const bedrock = getProviders().find((p) => p.id === 'amazon-bedrock')
+ expect(bedrock?.env).toContainEqual([
+ 'AWS_ACCESS_KEY_ID',
+ 'AWS_SECRET_ACCESS_KEY',
+ ])
+ const vertex = getProviders().find((p) => p.id === 'google-vertex')
+ expect(vertex?.env[0]).toEqual(['GOOGLE_CLOUD_API_KEY'])
+ })
+
+ it('marks a model whose data came from another provider', () => {
+ expect(
+ getModel('cloudflare-ai-gateway', 'workers-ai/@cf/openai/gpt-oss-120b')
+ ?.borrowedFrom,
+ ).toBe('cloudflare-workers-ai/@cf/openai/gpt-oss-120b')
+ })
+})
+
+describe('modelCost', () => {
+ // Long-context prices above 200k and 1M input tokens, like a tiered record.
+ const tiered = {
+ cost: {
+ input: 2,
+ output: 10,
+ cacheRead: 0.2,
+ cacheWrite: 2.5,
+ tiers: [
+ {
+ inputTokensAbove: 1_000_000,
+ input: 6,
+ output: 30,
+ cacheRead: 0.6,
+ cacheWrite: 7.5,
+ },
+ {
+ inputTokensAbove: 200_000,
+ input: 4,
+ output: 20,
+ cacheRead: 0.4,
+ cacheWrite: 5,
+ },
+ ],
+ },
+ }
+
+ /** Each part of `cost` is close to `expected` (USD floats). */
+ const expectCost = (cost: Cost, expected: Cost) => {
+ for (const key of Object.keys(expected) as Array)
+ expect(cost[key]).toBeCloseTo(expected[key], 10)
+ }
+
+ it('uses the base prices at or below the lowest tier', () => {
+ expectCost(modelCost(tiered, { input: 200_000, output: 1_000_000 }), {
+ input: 0.4,
+ output: 10,
+ cacheRead: 0,
+ cacheWrite: 0,
+ total: 10.4,
+ })
+ })
+
+ it('uses the highest tier below the input, with the cache parts counted', () => {
+ // 150k uncached + 60k cache read = 210k input: the 200k tier.
+ expectCost(
+ modelCost(tiered, { input: 150_000, output: 0, cacheRead: 60_000 }),
+ { input: 0.6, output: 0, cacheRead: 0.024, cacheWrite: 0, total: 0.624 },
+ )
+ expect(
+ modelCost(tiered, { input: 1_500_000, output: 0 }).input,
+ ).toBeCloseTo(9, 10)
+ })
+
+ it('prices a 1-hour cache write at 2x the input price', () => {
+ const base = {
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ }
+ // 100k written: 40k with a 1-hour TTL, 60k with the 5-minute price.
+ expectCost(
+ modelCost(base, {
+ input: 0,
+ output: 0,
+ cacheWrite: 100_000,
+ cacheWrite1h: 40_000,
+ }),
+ { input: 0, output: 0, cacheRead: 0, cacheWrite: 0.465, total: 0.465 },
+ )
+ })
+
+ it('counts no more 1-hour writes than cache writes', () => {
+ const base = {
+ cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
+ }
+ expect(
+ modelCost(base, { input: 0, output: 0, cacheWrite1h: 40_000 }).cacheWrite,
+ ).toBe(0)
+ })
+
+ it('takes the 1-hour price from the tier', () => {
+ // 300k written in all, so the 200k tier: 2 x 4 for the 1-hour part.
+ expect(
+ modelCost(tiered, {
+ input: 0,
+ output: 0,
+ cacheWrite: 300_000,
+ cacheWrite1h: 300_000,
+ }).cacheWrite,
+ ).toBeCloseTo(2.4, 10)
+ })
+
+ it('has the models.dev tiers on catalog records', () => {
+ const record = getModel('openai', 'gpt-5.5')
+ expect(record?.cost.tiers).toEqual([
+ expect.objectContaining({ inputTokensAbove: 272000 }),
+ ])
+ })
+
+ it('prices each part per 1M tokens', () => {
+ const cost = modelCost(
+ { cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 } },
+ { input: 1_000_000, output: 100_000, cacheRead: 500_000 },
+ )
+ expect(cost).toEqual({
+ input: 3,
+ output: 1.5,
+ cacheRead: 0.15,
+ cacheWrite: 0,
+ total: 4.65,
+ })
+ })
+})
+
+describe('reasoning data matches @tanstack/ai', () => {
+ const data: ReadonlyArray = [
+ false,
+ {
+ levels: { off: 'off', minimal: 'minimal', low: 'low', high: 'high' },
+ budget: true,
+ },
+ {
+ levels: { off: 'none', low: 'low', high: 'high', xhigh: 'xhigh' },
+ budget: false,
+ },
+ { levels: { max: 'max' }, budget: false },
+ { levels: { off: 'off', high: 'high' }, budget: false },
+ { levels: {}, budget: false },
+ ]
+ const levels: ReadonlyArray = [
+ 'off',
+ 'minimal',
+ 'low',
+ 'medium',
+ 'high',
+ 'xhigh',
+ 'max',
+ ]
+
+ it.each(data)('gives the same levels and clamps for %j', (reasoning) => {
+ const model = { reasoning }
+ expect(supportedReasoningLevels(model)).toEqual(coreSupported(reasoning))
+ for (const level of levels)
+ expect(clampReasoningLevel(model, level)).toBe(
+ coreClamp(reasoning, level),
+ )
+ })
+
+ it('supports only off on a model that does not reason', () => {
+ expect(supportedReasoningLevels({ reasoning: false })).toEqual(['off'])
+ expect(clampReasoningLevel({ reasoning: false }, 'max')).toBe('off')
+ })
+
+ it('gives records the ModelReasoning shape of @tanstack/ai', () => {
+ const record = getModel('anthropic', 'claude-sonnet-4-5-20250929')
+ if (!record) throw new Error('Expected the catalog record')
+ const reasoning: CoreModelReasoning = record.reasoning
+ expect(reasoning).toEqual({
+ levels: {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ },
+ budget: true,
+ })
+ expect(supportedReasoningLevels(record)).toEqual(coreSupported(reasoning))
+ })
+})
diff --git a/packages/ai-models/tests/drift.test.ts b/packages/ai-models/tests/drift.test.ts
new file mode 100644
index 0000000000..6ed4cbf135
--- /dev/null
+++ b/packages/ai-models/tests/drift.test.ts
@@ -0,0 +1,31 @@
+import { describe, expect, it } from 'vitest'
+import { getModels, getProviders } from '../src'
+import { BORROW, ONLY } from '../scripts/known-ids'
+import { EXTRA_MODELS, MODEL_OVERRIDES } from '../scripts/overrides'
+import { PROVIDERS } from '../scripts/providers'
+
+const rowIds = new Set(PROVIDERS.map((row) => row.id))
+
+describe('drift', () => {
+ it('every generated provider has a rule row, and every row was generated', () => {
+ expect(new Set(getProviders().map((provider) => provider.id))).toEqual(
+ rowIds,
+ )
+ })
+
+ it('every generated model belongs to a provider with a rule row', () => {
+ for (const provider of getProviders())
+ for (const model of getModels(provider.id))
+ expect(rowIds.has(model.provider), model.id).toBe(true)
+ })
+
+ it('every hand-kept list names a provider with a rule row', () => {
+ for (const list of [BORROW, ONLY, EXTRA_MODELS, MODEL_OVERRIDES])
+ for (const id of Object.keys(list)) expect(rowIds.has(id), id).toBe(true)
+ })
+
+ it('every provider has at least one model', () => {
+ for (const provider of getProviders())
+ expect(getModels(provider.id).length, provider.id).toBeGreaterThan(0)
+ })
+})
diff --git a/packages/ai-models/tests/parity.test.ts b/packages/ai-models/tests/parity.test.ts
new file mode 100644
index 0000000000..ea30cca266
--- /dev/null
+++ b/packages/ai-models/tests/parity.test.ts
@@ -0,0 +1,64 @@
+import { readFileSync } from 'node:fs'
+import { describe, expect, it } from 'vitest'
+import { getModel } from '../src'
+
+// Parity with pi's built-in catalog. The pi
+// snapshot is never committed. Point PI_CATALOG_SNAPSHOT at the JSON file to
+// run this test. It fails on a missing id, and prints the fields that differ.
+const snapshotPath = process.env.PI_CATALOG_SNAPSHOT
+
+interface PiModel {
+ id: string
+ api: string
+ baseUrl: string
+ reasoning: boolean
+ input: Array
+ contextWindow: number
+ maxTokens: number
+ cost: { input: number; output: number }
+}
+
+// Providers with no TanStack adapter: not in the catalog.
+const NOT_COVERED = new Set(['openai-codex', 'radius', 'github-copilot'])
+
+describe.skipIf(!snapshotPath)('parity with pi', () => {
+ it('resolves every model id of every covered provider', () => {
+ const snapshot: {
+ providers: Record }>
+ } = JSON.parse(readFileSync(snapshotPath ?? '', 'utf8'))
+ const missing: Array = []
+ const differs: Record = {}
+ let total = 0
+ for (const [providerId, provider] of Object.entries(snapshot.providers)) {
+ if (NOT_COVERED.has(providerId)) continue
+ for (const piModel of provider.models) {
+ total++
+ const model = getModel(providerId, piModel.id)
+ if (!model) {
+ missing.push(`${providerId}/${piModel.id}`)
+ continue
+ }
+ const checks: Record = {
+ api: model.api === piModel.api,
+ baseUrl: model.baseUrl === piModel.baseUrl,
+ reasoning: (model.reasoning !== false) === piModel.reasoning,
+ input: piModel.input.every((kind) =>
+ model.input.includes(kind as never),
+ ),
+ contextWindow: model.contextWindow === piModel.contextWindow,
+ maxTokens: model.maxTokens === piModel.maxTokens,
+ cost:
+ model.cost.input === piModel.cost.input &&
+ model.cost.output === piModel.cost.output,
+ }
+ for (const [field, same] of Object.entries(checks))
+ if (!same) differs[field] = (differs[field] ?? 0) + 1
+ }
+ }
+ console.log(
+ `pi parity: ${total - missing.length}/${total} resolve. Fields that differ (newer models.dev data is fine):`,
+ differs,
+ )
+ expect(missing).toEqual([])
+ })
+})
diff --git a/packages/ai-models/tests/rules.test.ts b/packages/ai-models/tests/rules.test.ts
new file mode 100644
index 0000000000..f34e79ed01
--- /dev/null
+++ b/packages/ai-models/tests/rules.test.ts
@@ -0,0 +1,173 @@
+import { describe, expect, it } from 'vitest'
+import { toRecord } from '../scripts/catalog'
+import { PROVIDERS } from '../scripts/providers'
+import {
+ inputModalities,
+ makesText,
+ modelHints,
+ reasoningLevelsFrom,
+ takesBudget,
+} from '../scripts/rules'
+
+const completions = { api: 'openai-completions', baseUrl: 'x' } as const
+const messages = { api: 'anthropic-messages', baseUrl: 'x' } as const
+
+describe('reasoningLevelsFrom (models.dev reasoning_options to levels)', () => {
+ it('maps effort values to their levels, and none to off', () => {
+ expect(
+ reasoningLevelsFrom([
+ { type: 'effort', values: ['none', 'low', 'medium', 'high', 'xhigh'] },
+ ]),
+ ).toEqual({
+ off: 'none',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ xhigh: 'xhigh',
+ })
+ })
+
+ it('cannot turn thinking off when effort has no none and there is no toggle', () => {
+ expect(
+ reasoningLevelsFrom([{ type: 'effort', values: ['low', 'high', 'max'] }]),
+ ).toEqual({ low: 'low', high: 'high', max: 'max' })
+ })
+
+ it('a toggle next to effort gives the none off value (DeepSeek V4)', () => {
+ expect(
+ reasoningLevelsFrom([
+ { type: 'toggle' },
+ { type: 'effort', values: ['low', 'high', 'max'] },
+ ]),
+ ).toEqual({ off: 'none', low: 'low', high: 'high', max: 'max' })
+ })
+
+ it('default with no high is the high value (Groq)', () => {
+ expect(
+ reasoningLevelsFrom([{ type: 'effort', values: ['none', 'default'] }]),
+ ).toEqual({ off: 'none', high: 'default' })
+ })
+
+ it('a toggle alone gives only off and high', () => {
+ expect(reasoningLevelsFrom([{ type: 'toggle' }])).toEqual({
+ off: 'off',
+ high: 'high',
+ })
+ })
+
+ it('a token budget or no options gives every level up to high', () => {
+ const upToHigh = {
+ off: 'off',
+ minimal: 'minimal',
+ low: 'low',
+ medium: 'medium',
+ high: 'high',
+ }
+ expect(reasoningLevelsFrom([{ type: 'budget_tokens', min: 1024 }])).toEqual(
+ upToHigh,
+ )
+ expect(reasoningLevelsFrom([])).toEqual(upToHigh)
+ expect(reasoningLevelsFrom(undefined)).toEqual(upToHigh)
+ expect(takesBudget([{ type: 'toggle' }, { type: 'budget_tokens' }])).toBe(
+ true,
+ )
+ })
+})
+
+describe('modelHints', () => {
+ it('asks for reasoning_content replay when the model interleaves it', () => {
+ expect(
+ modelHints(
+ { id: 'm', interleaved: { field: 'reasoning_content' } },
+ completions,
+ false,
+ ),
+ ).toEqual({ requiresReasoningContentOnAssistantMessages: true })
+ })
+
+ it('reads temperature support', () => {
+ expect(
+ modelHints({ id: 'm', temperature: false }, messages, false),
+ ).toEqual({ supportsTemperature: false })
+ })
+
+ it('gives adaptive thinking to Claude 4.6 and later only (pi), with dash or dot ids', () => {
+ const effort = [{ type: 'effort', values: ['low', 'high'] }]
+ const adaptive = (id: string) =>
+ modelHints({ id, reasoning_options: effort }, messages, false)
+ .forceAdaptiveThinking === true
+ expect(adaptive('claude-opus-4-7')).toBe(true)
+ expect(adaptive('anthropic/claude-opus-4.7')).toBe(true)
+ expect(adaptive('anthropic/claude-sonnet-4.6')).toBe(true)
+ expect(adaptive('claude-fable-5-1')).toBe(true)
+ expect(adaptive('claude-opus-4-5')).toBe(false)
+ expect(adaptive('anthropic/claude-sonnet-4.5')).toBe(false)
+ expect(adaptive('claude-sonnet-4-20250514')).toBe(false)
+ // models.dev lists `effort` for it, but a gateway gives it budget thinking.
+ expect(adaptive('openai/gpt-5')).toBe(false)
+ })
+
+ it('follows the effort option for reasoning_effort when the row asks for it', () => {
+ const effort = {
+ id: 'm',
+ reasoning_options: [{ type: 'effort', values: ['low'] }],
+ }
+ expect(modelHints(effort, completions, true)).toEqual({
+ supportsReasoningEffort: true,
+ })
+ expect(modelHints({ id: 'm' }, completions, true)).toEqual({
+ supportsReasoningEffort: false,
+ })
+ })
+})
+
+describe('models and inputs', () => {
+ it('keeps chat models, and leaves out embedding and transcription models', () => {
+ expect(makesText({ id: 'gpt-5.6' })).toBe(true)
+ expect(
+ makesText({ id: 'gpt-image-2', modalities: { output: ['image'] } }),
+ ).toBe(false)
+ expect(makesText({ id: 'text-embedding-3-small' })).toBe(false)
+ expect(makesText({ id: 'whisper-large-v3' })).toBe(false)
+ })
+
+ it('takes a tier price models.dev leaves out from the base price', () => {
+ const row = PROVIDERS.find((provider) => provider.id === 'google')
+ if (!row) throw new Error('Expected the google row')
+ const record = toRecord(
+ row,
+ 'm',
+ {
+ id: 'm',
+ cost: {
+ input: 1,
+ output: 2,
+ cache_read: 0.1,
+ cache_write: 0.5,
+ tiers: [
+ { input: 3, output: 4, tier: { type: 'context', size: 200_000 } },
+ ],
+ },
+ },
+ 'm',
+ )
+ expect(record.cost.tiers).toEqual([
+ {
+ inputTokensAbove: 200_000,
+ input: 3,
+ output: 4,
+ cacheRead: 0.1,
+ cacheWrite: 0.5,
+ },
+ ])
+ })
+
+ it('maps input kinds and keeps text as the fallback', () => {
+ expect(inputModalities(['text', 'image', 'pdf'])).toEqual([
+ 'text',
+ 'image',
+ 'document',
+ ])
+ expect(inputModalities(['weird'])).toEqual(['text'])
+ })
+})
diff --git a/packages/ai-models/tsconfig.json b/packages/ai-models/tsconfig.json
new file mode 100644
index 0000000000..f27905e257
--- /dev/null
+++ b/packages/ai-models/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "outDir": "dist"
+ },
+ "include": ["src", "tests", "scripts"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/packages/ai-models/vite.config.ts b/packages/ai-models/vite.config.ts
new file mode 100644
index 0000000000..6385a078d0
--- /dev/null
+++ b/packages/ai-models/vite.config.ts
@@ -0,0 +1,45 @@
+import { readdirSync } from 'node:fs'
+import { defineConfig, mergeConfig } from 'vitest/config'
+import { tanstackViteConfig } from '@tanstack/vite-config'
+import packageJson from './package.json'
+
+// One entry per provider file, so each one is its own subpath export. The
+// folder is read next to this file, so tools that load the config from the
+// repo root (knip) find it too.
+const providerEntries = readdirSync(new URL('./src/providers', import.meta.url))
+ .filter((file) => file.endsWith('.ts'))
+ .map((file) => `./src/providers/${file}`)
+
+const config = defineConfig({
+ test: {
+ name: packageJson.name,
+ dir: './',
+ watch: false,
+ globals: true,
+ environment: 'node',
+ include: ['tests/**/*.test.ts'],
+ coverage: {
+ provider: 'v8',
+ reporter: ['text', 'json', 'html', 'lcov'],
+ exclude: [
+ 'node_modules/',
+ 'dist/',
+ 'tests/',
+ 'scripts/',
+ '**/*.test.ts',
+ '**/*.config.ts',
+ '**/types.ts',
+ ],
+ include: ['src/**/*.ts'],
+ },
+ },
+})
+
+export default mergeConfig(
+ config,
+ tanstackViteConfig({
+ entry: ['./src/index.ts', ...providerEntries],
+ srcDir: './src',
+ cjs: false,
+ }),
+)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5ad881287d..547a83d6ad 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -3092,6 +3092,21 @@ importers:
specifier: ^8.2.1
version: 8.2.1(@types/node@24.10.3)(esbuild@0.28.1)(jiti@2.7.0)(less@4.6.6)(sass@1.101.0)(terser@5.44.1)(tsx@4.23.12)(yaml@2.9.0)
+ packages/ai-models:
+ devDependencies:
+ '@tanstack/ai':
+ specifier: workspace:*
+ version: link:../ai
+ '@types/node':
+ specifier: ^24.10.1
+ version: 24.10.3
+ '@vitest/coverage-v8':
+ specifier: 4.1.10
+ version: 4.1.10(vitest@4.1.11)
+ vite:
+ specifier: ^8.2.1
+ version: 8.2.1(@types/node@24.10.3)(esbuild@0.28.1)(jiti@2.7.0)(less@4.6.6)(sass@1.101.0)(terser@5.44.1)(tsx@4.23.12)(yaml@2.9.0)
+
packages/ai-octane:
dependencies:
'@tanstack/ai-client':
diff --git a/scripts/fetch-models-dev.ts b/scripts/fetch-models-dev.ts
new file mode 100644
index 0000000000..0ef4b8c4e2
--- /dev/null
+++ b/scripts/fetch-models-dev.ts
@@ -0,0 +1,141 @@
+/**
+ * Fetches the models.dev catalog and writes the part `@tanstack/ai-models`
+ * reads to `models-dev.models.json`: the providers in
+ * `packages/ai-models/scripts/providers.ts`, the models the borrow list
+ * takes, and only the fields the generator uses.
+ *
+ * Usage:
+ * pnpm tsx scripts/fetch-models-dev.ts
+ *
+ * The output is plain JSON, so an upstream response cannot put code in the
+ * build.
+ */
+
+import { writeFile } from 'node:fs/promises'
+import { dirname, resolve } from 'node:path'
+import { fileURLToPath } from 'node:url'
+import { PROVIDERS } from '../packages/ai-models/scripts/providers'
+import { BORROW } from '../packages/ai-models/scripts/known-ids'
+
+const __dirname = dirname(fileURLToPath(import.meta.url))
+const OUTPUT_PATH = resolve(__dirname, 'models-dev.models.json')
+const API_URL = 'https://models.dev/api.json'
+
+interface ApiModel {
+ id: string
+ name?: string
+ reasoning?: boolean
+ reasoning_options?: Array
+ interleaved?: unknown
+ temperature?: boolean
+ modalities?: { input?: Array; output?: Array }
+ cost?: {
+ input?: number
+ output?: number
+ cache_read?: number
+ cache_write?: number
+ /** Higher prices above an input size, for example long context. */
+ tiers?: Array<{
+ input?: number
+ output?: number
+ cache_read?: number
+ cache_write?: number
+ tier?: { type?: string; size?: number }
+ }>
+ }
+ limit?: { context?: number; output?: number }
+ provider?: { npm?: string; api?: string }
+}
+
+interface ApiProvider {
+ id: string
+ name?: string
+ env?: Array
+ npm?: string
+ api?: string
+ models?: Record
+}
+
+const trimModel = (model: ApiModel) => ({
+ id: model.id,
+ name: model.name,
+ reasoning: model.reasoning,
+ reasoning_options: model.reasoning_options,
+ interleaved: model.interleaved,
+ temperature: model.temperature,
+ modalities: model.modalities,
+ cost: model.cost && {
+ input: model.cost.input,
+ output: model.cost.output,
+ cache_read: model.cost.cache_read,
+ cache_write: model.cost.cache_write,
+ tiers: model.cost.tiers?.map((tier) => ({
+ input: tier.input,
+ output: tier.output,
+ cache_read: tier.cache_read,
+ cache_write: tier.cache_write,
+ tier: tier.tier && { type: tier.tier.type, size: tier.tier.size },
+ })),
+ },
+ limit: model.limit && {
+ context: model.limit.context,
+ output: model.limit.output,
+ },
+ provider: model.provider && {
+ npm: model.provider.npm,
+ api: model.provider.api,
+ },
+})
+
+async function main() {
+ const response = await fetch(API_URL)
+ if (!response.ok)
+ throw new Error(
+ `models.dev answered ${response.status} ${response.statusText}`,
+ )
+ const catalog = (await response.json()) as Record
+
+ // Every model of a catalog provider. From the other providers, only the
+ // models the borrow list takes. It names `provider/model`, and model ids
+ // can hold `/` too, so the provider is the part before the first one.
+ const whole = new Set(PROVIDERS.flatMap((row) => row.sources))
+ const borrowed = new Map>()
+ for (const entries of Object.values(BORROW))
+ for (const source of Object.values(entries)) {
+ const slash = source.indexOf('/')
+ const provider = source.slice(0, slash)
+ if (whole.has(provider)) continue
+ borrowed.set(
+ provider,
+ (borrowed.get(provider) ?? new Set()).add(source.slice(slash + 1)),
+ )
+ }
+
+ const trimmed: Record = {}
+ for (const id of [...whole, ...borrowed.keys()].sort()) {
+ const provider = catalog[id]
+ if (!provider) {
+ console.warn(` Warning: models.dev has no provider '${id}'`)
+ continue
+ }
+ const keep = borrowed.get(id)
+ trimmed[id] = {
+ id: provider.id,
+ name: provider.name,
+ env: provider.env,
+ npm: provider.npm,
+ api: provider.api,
+ models: Object.fromEntries(
+ Object.entries(provider.models ?? {})
+ .filter(([key]) => !keep || keep.has(key))
+ .map(([key, model]) => [key, trimModel(model)]),
+ ),
+ }
+ }
+ await writeFile(OUTPUT_PATH, `${JSON.stringify(trimmed, null, 2)}\n`)
+ console.log(
+ `Wrote ${Object.keys(trimmed).length} providers to ${OUTPUT_PATH}`,
+ )
+}
+
+await main()
diff --git a/scripts/generate-ai-models.ts b/scripts/generate-ai-models.ts
new file mode 100644
index 0000000000..babc8712ea
--- /dev/null
+++ b/scripts/generate-ai-models.ts
@@ -0,0 +1,105 @@
+/**
+ * Writes the catalog of `@tanstack/ai-models`:
+ * - `src/providers/.ts`: one file per provider (a subpath export each)
+ * - `src/catalog.ts`: every provider, and the `generatedAt` date
+ * - the `exports` of `package.json`
+ *
+ * Input: `scripts/models-dev.models.json` (from `scripts/fetch-models-dev.ts`)
+ * and the OpenRouter and Vercel lists of the existing fetchers.
+ *
+ * Usage:
+ * pnpm tsx scripts/generate-ai-models.ts
+ */
+
+import { mkdir, readFile, rm, writeFile } from 'node:fs/promises'
+import { dirname, resolve } from 'node:path'
+import { fileURLToPath } from 'node:url'
+import { models as openrouterModels } from './openrouter.models'
+import { models as vercelModels } from './vercel-gateway.models'
+import {
+ buildModels,
+ buildProvider,
+} from '../packages/ai-models/scripts/catalog'
+import { PROVIDERS } from '../packages/ai-models/scripts/providers'
+import { fromOpenRouter, fromVercel } from './model-sync/gateway-models'
+import type { DevCatalog } from '../packages/ai-models/scripts/catalog'
+
+const here = dirname(fileURLToPath(import.meta.url))
+const packageDir = resolve(here, '../packages/ai-models')
+const providersDir = resolve(packageDir, 'src/providers')
+
+/** `qwen-token-plan-cn` as `qwenTokenPlanCn`. */
+const identifier = (id: string) =>
+ id.replace(/-([a-z0-9])/g, (_match, char: string) => char.toUpperCase())
+
+const HEADER =
+ '// Generated by scripts/generate-ai-models.ts from models.dev. Do not edit.\n'
+
+async function main() {
+ const dev: DevCatalog = JSON.parse(
+ await readFile(resolve(here, 'models-dev.models.json'), 'utf8'),
+ )
+ const gateways = {
+ openrouter: openrouterModels.map(fromOpenRouter),
+ 'vercel-ai-gateway': vercelModels.map(fromVercel),
+ }
+
+ await rm(providersDir, { recursive: true, force: true })
+ await mkdir(providersDir, { recursive: true })
+ let total = 0
+ for (const row of PROVIDERS) {
+ const models = buildModels(row, { dev, gateways })
+ const provider = buildProvider(row, models)
+ total += models.length
+ await writeFile(
+ resolve(providersDir, `${row.id}.ts`),
+ `${HEADER}import type { ModelRecord, ProviderRecord } from '../types'
+
+/** ${row.name}. */
+export const provider: ProviderRecord = ${JSON.stringify(provider)}
+
+/** Every ${row.name} model, sorted by id. */
+export const models: ReadonlyArray = ${JSON.stringify(models)}
+`,
+ )
+ }
+
+ const ids = PROVIDERS.map((row) => row.id)
+ const generatedAt = new Date().toISOString().slice(0, 10)
+ await writeFile(
+ resolve(packageDir, 'src/catalog.ts'),
+ `${HEADER}${ids
+ .map((id) => `import * as ${identifier(id)} from './providers/${id}'`)
+ .join('\n')}
+
+/** The day the catalog was generated, as \`YYYY-MM-DD\`. */
+export const generatedAt = '${generatedAt}'
+
+/** Every provider module, in id order. */
+export const providerModules = [${ids.map(identifier).join(', ')}]
+`,
+ )
+
+ // One subpath per provider, so a build ships only the providers it uses.
+ const packageJsonPath = resolve(packageDir, 'package.json')
+ const packageJson = JSON.parse(await readFile(packageJsonPath, 'utf8'))
+ packageJson.exports = {
+ '.': {
+ types: './dist/esm/index.d.ts',
+ import: './dist/esm/index.js',
+ },
+ ...Object.fromEntries(
+ ids.map((id) => [
+ `./${id}`,
+ {
+ types: `./dist/esm/providers/${id}.d.ts`,
+ import: `./dist/esm/providers/${id}.js`,
+ },
+ ]),
+ ),
+ }
+ await writeFile(packageJsonPath, `${JSON.stringify(packageJson, null, 2)}\n`)
+ console.log(`Wrote ${ids.length} providers and ${total} models.`)
+}
+
+await main()
diff --git a/scripts/model-sync/gateway-models.ts b/scripts/model-sync/gateway-models.ts
new file mode 100644
index 0000000000..2c57e9fdaf
--- /dev/null
+++ b/scripts/model-sync/gateway-models.ts
@@ -0,0 +1,87 @@
+/**
+ * The OpenRouter and Vercel AI Gateway model lists, in models.dev's shape, so
+ * the model-catalog generator reads one format.
+ */
+
+import type { OpenRouterModel } from '../openrouter.models'
+import type { VercelGatewayCatalogModel } from '../vercel-gateway.models'
+import type {
+ DevModel,
+ ReasoningOptionEntry,
+} from '../../packages/ai-models/scripts/rules'
+
+/** A price per token (a string) as USD per 1M tokens. */
+function perMillion(price: unknown): number | undefined {
+ const value = typeof price === 'string' ? Number(price) : undefined
+ if (value === undefined || !Number.isFinite(value) || value < 0)
+ return undefined
+ return Math.round(value * 1e12) / 1e6
+}
+
+const inputKind = (kind: string) => (kind === 'file' ? 'pdf' : kind)
+
+/** An OpenRouter API model in models.dev's shape. */
+export function fromOpenRouter(model: OpenRouterModel): DevModel {
+ const params = model.supported_parameters ?? []
+ const efforts = model.reasoning?.supported_efforts
+ return {
+ id: model.id,
+ name: model.name,
+ reasoning: params.includes('reasoning'),
+ ...(efforts?.length
+ ? { reasoning_options: [{ type: 'effort', values: efforts }] }
+ : {}),
+ temperature: params.includes('temperature'),
+ modalities: {
+ input: model.architecture.input_modalities.map(inputKind),
+ output: model.architecture.output_modalities,
+ },
+ cost: {
+ input: perMillion(model.pricing.prompt),
+ output: perMillion(model.pricing.completion),
+ cache_read: perMillion(model.pricing.input_cache_read),
+ cache_write: perMillion(model.pricing.input_cache_write),
+ },
+ limit: {
+ context: model.context_length,
+ output: model.top_provider.max_completion_tokens ?? undefined,
+ },
+ }
+}
+
+/** A Vercel AI Gateway model in models.dev's shape. */
+export function fromVercel(model: VercelGatewayCatalogModel): DevModel {
+ const pricing =
+ typeof model.pricing === 'object' && model.pricing !== null
+ ? (model.pricing as Record)
+ : {}
+ const options = Array.isArray(model.reasoning_options)
+ ? (model.reasoning_options as ReadonlyArray)
+ : undefined
+ const params = model.supported_parameters ?? []
+ return {
+ id: model.id,
+ name: typeof model.name === 'string' ? model.name : model.id,
+ reasoning:
+ params.includes('reasoning') || (model.tags ?? []).includes('reasoning'),
+ ...(options ? { reasoning_options: options } : {}),
+ ...(typeof model.temperature === 'boolean'
+ ? { temperature: model.temperature }
+ : {}),
+ modalities: {
+ input: (model.modalities?.input ?? ['text']).map(inputKind),
+ output: model.modalities?.output ?? ['text'],
+ },
+ cost: {
+ input: perMillion(pricing.input),
+ output: perMillion(pricing.output),
+ cache_read: perMillion(pricing.input_cache_read),
+ cache_write: perMillion(pricing.input_cache_write),
+ },
+ limit: {
+ context:
+ typeof model.context_window === 'number' ? model.context_window : 0,
+ output: typeof model.max_tokens === 'number' ? model.max_tokens : 0,
+ },
+ }
+}
diff --git a/scripts/models-dev.models.json b/scripts/models-dev.models.json
new file mode 100644
index 0000000000..122579a262
--- /dev/null
+++ b/scripts/models-dev.models.json
@@ -0,0 +1,49738 @@
+{
+ "alibaba": {
+ "id": "alibaba",
+ "name": "Alibaba",
+ "env": ["DASHSCOPE_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
+ "models": {
+ "qwen-flash": {
+ "id": "qwen-flash",
+ "name": "Qwen Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 32768
+ }
+ },
+ "qwen3.5-flash": {
+ "id": "qwen3.5-flash",
+ "name": "Qwen3.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.01,
+ "cache_write": 0.125
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen3.7-max": {
+ "id": "qwen3.7-max",
+ "name": "Qwen3.7 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 7.5,
+ "cache_read": 0.5,
+ "cache_write": 3.125
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qwen2-5-32b-instruct": {
+ "id": "qwen2-5-32b-instruct",
+ "name": "Qwen2.5 32B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.7,
+ "output": 2.8
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwq-plus": {
+ "id": "qwq-plus",
+ "name": "QwQ Plus",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 2.4
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen2-5-vl-72b-instruct": {
+ "id": "qwen2-5-vl-72b-instruct",
+ "name": "Qwen2.5-VL 72B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.8,
+ "output": 8.4
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen3-vl-plus": {
+ "id": "qwen3-vl-plus",
+ "name": "Qwen3-VL Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.6
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "qwen3.5-27b": {
+ "id": "qwen3.5-27b",
+ "name": "Qwen3.5 27B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.4
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "deepseek-v4-flash-0731": {
+ "id": "deepseek-v4-flash-0731",
+ "name": "DeepSeek V4 Flash 0731",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.4,
+ "cache_read": 0.04
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "qwen-max": {
+ "id": "qwen-max",
+ "name": "Qwen Max",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.6,
+ "output": 6.4
+ },
+ "limit": {
+ "context": 32768,
+ "output": 8192
+ }
+ },
+ "qwen3-next-80b-a3b-thinking": {
+ "id": "qwen3-next-80b-a3b-thinking",
+ "name": "Qwen3-Next 80B-A3B (Thinking)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 6
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "qwen3.8-max": {
+ "id": "qwen3.8-max",
+ "name": "Qwen3.8 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 0,
+ "max": 262144
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "kimi-k3": {
+ "id": "kimi-k3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "qwen-plus-character-ja": {
+ "id": "qwen-plus-character-ja",
+ "name": "Qwen Plus Character (Japanese)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.4
+ },
+ "limit": {
+ "context": 8192,
+ "output": 512
+ }
+ },
+ "qwen3.5-plus": {
+ "id": "qwen3.5-plus",
+ "name": "Qwen3.5 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2.4
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen3-livetranslate-flash-realtime": {
+ "id": "qwen3-livetranslate-flash-realtime",
+ "name": "Qwen3-LiveTranslate Flash Realtime",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 10
+ },
+ "limit": {
+ "context": 53248,
+ "output": 4096
+ }
+ },
+ "qwen2-5-72b-instruct": {
+ "id": "qwen2-5-72b-instruct",
+ "name": "Qwen2.5 72B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 5.6
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen3-32b": {
+ "id": "qwen3-32b",
+ "name": "Qwen3 32B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.7,
+ "output": 2.8
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "qwen-plus": {
+ "id": "qwen-plus",
+ "name": "Qwen Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 32768
+ }
+ },
+ "qwen3.7-flash": {
+ "id": "qwen3.7-flash",
+ "name": "Qwen3.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 262144
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.03,
+ "output": 0.13,
+ "cache_read": 0.003,
+ "cache_write": 0.0375,
+ "tiers": [
+ {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.01,
+ "cache_write": 0.125,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 0.2,
+ "output": 0.8,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qwen3-max": {
+ "id": "qwen3-max",
+ "name": "Qwen3 Max",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.2,
+ "output": 6
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen-omni-turbo-realtime": {
+ "id": "qwen-omni-turbo-realtime",
+ "name": "Qwen-Omni Turbo Realtime",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.27,
+ "output": 1.07
+ },
+ "limit": {
+ "context": 32768,
+ "output": 2048
+ }
+ },
+ "qwen3-coder-480b-a35b-instruct": {
+ "id": "qwen3-coder-480b-a35b-instruct",
+ "name": "Qwen3-Coder 480B-A35B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 7.5,
+ "tiers": [
+ {
+ "input": 2.7,
+ "output": 13.5,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 4.5,
+ "output": 22.5,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen-turbo": {
+ "id": "qwen-turbo",
+ "name": "Qwen Turbo",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.2
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 16384
+ }
+ },
+ "qwen3-coder-30b-a3b-instruct": {
+ "id": "qwen3-coder-30b-a3b-instruct",
+ "name": "Qwen3-Coder 30B-A3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.45,
+ "output": 2.25,
+ "tiers": [
+ {
+ "input": 0.75,
+ "output": 3.75,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 1.2,
+ "output": 6,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen3.8-omni-flash": {
+ "id": "qwen3.8-omni-flash",
+ "name": "Qwen3.8 Omni Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "xhigh"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.47,
+ "cache_read": 0.016
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qvq-max": {
+ "id": "qvq-max",
+ "name": "QVQ Max",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.2,
+ "output": 4.8
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen2-5-7b-instruct": {
+ "id": "qwen2-5-7b-instruct",
+ "name": "Qwen2.5 7B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.175,
+ "output": 0.7
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen3-omni-flash": {
+ "id": "qwen3-omni-flash",
+ "name": "Qwen3-Omni Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.43,
+ "output": 1.66
+ },
+ "limit": {
+ "context": 65536,
+ "output": 16384
+ }
+ },
+ "qwen-vl-max": {
+ "id": "qwen-vl-max",
+ "name": "Qwen-VL Max",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 3.2
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen3-235b-a22b": {
+ "id": "qwen3-235b-a22b",
+ "name": "Qwen3 235B-A22B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.7,
+ "output": 2.8
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "qwen3-vl-30b-a3b": {
+ "id": "qwen3-vl-30b-a3b",
+ "name": "Qwen3-VL 30B-A3B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.8
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "qwen3.5-122b-a10b": {
+ "id": "qwen3.5-122b-a10b",
+ "name": "Qwen3.5 122B-A10B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 3.2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen3.6-35b-a3b": {
+ "id": "qwen3.6-35b-a3b",
+ "name": "Qwen3.6 35B-A3B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.248,
+ "output": 1.485
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen3-next-80b-a3b-instruct": {
+ "id": "qwen3-next-80b-a3b-instruct",
+ "name": "Qwen3-Next 80B-A3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 2
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "qwen-vl-plus": {
+ "id": "qwen-vl-plus",
+ "name": "Qwen-VL Plus",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.21,
+ "output": 0.63
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen3.6-flash": {
+ "id": "qwen3.6-flash",
+ "name": "Qwen3.6 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1875,
+ "output": 1.125,
+ "cache_write": 0.234375
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen3-coder-flash": {
+ "id": "qwen3-coder-flash",
+ "name": "Qwen3 Coder Flash",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen2-5-omni-7b": {
+ "id": "qwen2-5-omni-7b",
+ "name": "Qwen2.5-Omni 7B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 32768,
+ "output": 2048
+ }
+ },
+ "qwen-mt-plus": {
+ "id": "qwen-mt-plus",
+ "name": "Qwen-MT Plus",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.46,
+ "output": 7.37
+ },
+ "limit": {
+ "context": 16384,
+ "output": 8192
+ }
+ },
+ "qwen3-vl-235b-a22b": {
+ "id": "qwen3-vl-235b-a22b",
+ "name": "Qwen3-VL 235B-A22B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.7,
+ "output": 2.8
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "qwen3-coder-plus": {
+ "id": "qwen3-coder-plus",
+ "name": "Qwen3 Coder Plus",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 5
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "qwen2-5-14b-instruct": {
+ "id": "qwen2-5-14b-instruct",
+ "name": "Qwen2.5 14B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.35,
+ "output": 1.4
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen3.8-flash": {
+ "id": "qwen3.8-flash",
+ "name": "Qwen3.8 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ },
+ {
+ "type": "budget_tokens",
+ "max": 262144
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.47,
+ "cache_read": 0.016,
+ "cache_write": 0.2
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qwen2-5-vl-7b-instruct": {
+ "id": "qwen2-5-vl-7b-instruct",
+ "name": "Qwen2.5-VL 7B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.35,
+ "output": 1.05
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen3.5-35b-a3b": {
+ "id": "qwen3.5-35b-a3b",
+ "name": "Qwen3.5 35B-A3B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen3.6-max-preview": {
+ "id": "qwen3.6-max-preview",
+ "name": "Qwen3.6 Max Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.3,
+ "output": 7.8,
+ "cache_read": 0.13,
+ "cache_write": 1.625
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen-mt-turbo": {
+ "id": "qwen-mt-turbo",
+ "name": "Qwen-MT Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.16,
+ "output": 0.49
+ },
+ "limit": {
+ "context": 16384,
+ "output": 8192
+ }
+ },
+ "qwen3.5-397b-a17b": {
+ "id": "qwen3.5-397b-a17b",
+ "name": "Qwen3.5 397B-A17B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3.6
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen3-8b": {
+ "id": "qwen3-8b",
+ "name": "Qwen3 8B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.18,
+ "output": 0.7
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "glm-5.2": {
+ "id": "glm-5.2",
+ "name": "GLM-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.28,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qwen-omni-turbo": {
+ "id": "qwen-omni-turbo",
+ "name": "Qwen-Omni Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.07,
+ "output": 0.27
+ },
+ "limit": {
+ "context": 32768,
+ "output": 2048
+ }
+ },
+ "qwen3-omni-flash-realtime": {
+ "id": "qwen3-omni-flash-realtime",
+ "name": "Qwen3-Omni Flash Realtime",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.52,
+ "output": 1.99
+ },
+ "limit": {
+ "context": 65536,
+ "output": 16384
+ }
+ },
+ "qwen3-asr-flash": {
+ "id": "qwen3-asr-flash",
+ "name": "Qwen3-ASR Flash",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.035,
+ "output": 0.035
+ },
+ "limit": {
+ "context": 53248,
+ "output": 4096
+ }
+ },
+ "qwen3.6-27b": {
+ "id": "qwen3.6-27b",
+ "name": "Qwen3.6 27B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3.6
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen3.6-plus": {
+ "id": "qwen3.6-plus",
+ "name": "Qwen3.6 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05,
+ "cache_write": 0.625,
+ "tiers": [
+ {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen3-14b": {
+ "id": "qwen3-14b",
+ "name": "Qwen3 14B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.35,
+ "output": 1.4
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen3.7-plus": {
+ "id": "qwen3.7-plus",
+ "name": "Qwen3.7 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 1.6,
+ "cache_read": 0.04,
+ "cache_write": 0.5,
+ "tiers": [
+ {
+ "input": 1.2,
+ "output": 4.8,
+ "cache_read": 0.12,
+ "cache_write": 1.5,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qwen-vl-ocr": {
+ "id": "qwen-vl-ocr",
+ "name": "Qwen-VL OCR",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.72,
+ "output": 0.72
+ },
+ "limit": {
+ "context": 34096,
+ "output": 4096
+ }
+ }
+ }
+ },
+ "alibaba-cn": {
+ "id": "alibaba-cn",
+ "name": "Alibaba (China)",
+ "env": ["DASHSCOPE_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://dashscope.aliyuncs.com/compatible-mode/v1",
+ "models": {
+ "qwen-flash": {
+ "id": "qwen-flash",
+ "name": "Qwen Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.022,
+ "output": 0.216
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 32768
+ }
+ },
+ "qwen3.5-flash": {
+ "id": "qwen3.5-flash",
+ "name": "Qwen3.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.029,
+ "output": 0.287,
+ "tiers": [
+ {
+ "input": 0.115,
+ "output": 1.147,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ },
+ {
+ "input": 0.172,
+ "output": 1.72,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen2-5-coder-32b-instruct": {
+ "id": "qwen2-5-coder-32b-instruct",
+ "name": "Qwen2.5-Coder 32B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.287,
+ "output": 0.861
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "deepseek-v3-2-exp": {
+ "id": "deepseek-v3-2-exp",
+ "name": "DeepSeek V3.2 Exp",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.287,
+ "output": 0.431
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "deepseek-r1-distill-qwen-14b": {
+ "id": "deepseek-r1-distill-qwen-14b",
+ "name": "DeepSeek R1 Distill Qwen 14B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.144,
+ "output": 0.431
+ },
+ "limit": {
+ "context": 32768,
+ "output": 16384
+ }
+ },
+ "qwen-math-plus": {
+ "id": "qwen-math-plus",
+ "name": "Qwen Math Plus",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.574,
+ "output": 1.721
+ },
+ "limit": {
+ "context": 4096,
+ "output": 3072
+ }
+ },
+ "qwen-deep-research": {
+ "id": "qwen-deep-research",
+ "name": "Qwen Deep Research",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 7.742,
+ "output": 23.367
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 32768
+ }
+ },
+ "qwen3.7-max": {
+ "id": "qwen3.7-max",
+ "name": "Qwen3.7 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 262144
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 7.5,
+ "cache_read": 0.5,
+ "cache_write": 3.125
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen2-5-32b-instruct": {
+ "id": "qwen2-5-32b-instruct",
+ "name": "Qwen2.5 32B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.287,
+ "output": 0.861
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwq-plus": {
+ "id": "qwq-plus",
+ "name": "QwQ Plus",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.23,
+ "output": 0.574
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwq-32b": {
+ "id": "qwq-32b",
+ "name": "QwQ 32B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.287,
+ "output": 0.861
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen2-5-vl-72b-instruct": {
+ "id": "qwen2-5-vl-72b-instruct",
+ "name": "Qwen2.5-VL 72B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.294,
+ "output": 6.881
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "deepseek-v3-1": {
+ "id": "deepseek-v3-1",
+ "name": "DeepSeek V3.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.574,
+ "output": 1.721
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "qwen3-vl-plus": {
+ "id": "qwen3-vl-plus",
+ "name": "Qwen3-VL Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.143353,
+ "output": 1.433525
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "qwen-plus-character": {
+ "id": "qwen-plus-character",
+ "name": "Qwen Plus Character",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.115,
+ "output": 0.287
+ },
+ "limit": {
+ "context": 32768,
+ "output": 4096
+ }
+ },
+ "qwen-max": {
+ "id": "qwen-max",
+ "name": "Qwen Max",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.345,
+ "output": 1.377
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen3-next-80b-a3b-thinking": {
+ "id": "qwen3-next-80b-a3b-thinking",
+ "name": "Qwen3-Next 80B-A3B (Thinking)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.144,
+ "output": 1.434
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "qwen3.8-max": {
+ "id": "qwen3.8-max",
+ "name": "Qwen3.8 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 0,
+ "max": 262144
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.77744,
+ "output": 5.33231,
+ "cache_read": 0.22218,
+ "cache_write": 2.22179
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "kimi-k3": {
+ "id": "kimi-k3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.827,
+ "output": 14.133,
+ "cache_read": 0.283
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "qwen2-5-math-7b-instruct": {
+ "id": "qwen2-5-math-7b-instruct",
+ "name": "Qwen2.5-Math 7B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.144,
+ "output": 0.287
+ },
+ "limit": {
+ "context": 4096,
+ "output": 3072
+ }
+ },
+ "qwen3.5-plus": {
+ "id": "qwen3.5-plus",
+ "name": "Qwen3.5 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.115,
+ "output": 0.688,
+ "tiers": [
+ {
+ "input": 0.287,
+ "output": 1.72,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ },
+ {
+ "input": 0.573,
+ "output": 3.44,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen2-5-72b-instruct": {
+ "id": "qwen2-5-72b-instruct",
+ "name": "Qwen2.5 72B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.574,
+ "output": 1.721
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "glm-5": {
+ "id": "glm-5",
+ "name": "GLM-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 32768
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.573,
+ "output": 2.58,
+ "tiers": [
+ {
+ "input": 0.86,
+ "output": 3.154,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 202752,
+ "output": 16384
+ }
+ },
+ "deepseek-v4.1-flash": {
+ "id": "deepseek-v4.1-flash",
+ "name": "DeepSeek V4.1 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.29754,
+ "output": 1.19015,
+ "cache_read": 0.01488
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "deepseek-r1-distill-llama-8b": {
+ "id": "deepseek-r1-distill-llama-8b",
+ "name": "DeepSeek R1 Distill Llama 8B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 32768,
+ "output": 16384
+ }
+ },
+ "qwen3-32b": {
+ "id": "qwen3-32b",
+ "name": "Qwen3 32B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 38912
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.287,
+ "output": 1.147
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "qwen2-5-coder-7b-instruct": {
+ "id": "qwen2-5-coder-7b-instruct",
+ "name": "Qwen2.5-Coder 7B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.144,
+ "output": 0.287
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen-plus": {
+ "id": "qwen-plus",
+ "name": "Qwen Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.115,
+ "output": 0.287,
+ "cache_read": 0.012,
+ "cache_write": 0.144
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 32768
+ }
+ },
+ "qwen3.7-flash": {
+ "id": "qwen3.7-flash",
+ "name": "Qwen3.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 262144
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.02962,
+ "output": 0.1185,
+ "cache_read": 0.002962,
+ "cache_write": 0.03703,
+ "tiers": [
+ {
+ "input": 0.08887,
+ "output": 0.35549,
+ "cache_read": 0.008887,
+ "cache_write": 0.11109,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 0.17774,
+ "output": 0.71098,
+ "cache_read": 0.017774,
+ "cache_write": 0.22218,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "kimi-k2.6": {
+ "id": "kimi-k2.6",
+ "name": "Moonshot Kimi K2.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.929,
+ "output": 3.858
+ },
+ "limit": {
+ "context": 262144,
+ "output": 16384
+ }
+ },
+ "qwen3-max": {
+ "id": "qwen3-max",
+ "name": "Qwen3 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.359,
+ "output": 1.434,
+ "tiers": [
+ {
+ "input": 0.574,
+ "output": 2.294,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 1.004,
+ "output": 4.014,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen-omni-turbo-realtime": {
+ "id": "qwen-omni-turbo-realtime",
+ "name": "Qwen-Omni Turbo Realtime",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.23,
+ "output": 0.918
+ },
+ "limit": {
+ "context": 32768,
+ "output": 2048
+ }
+ },
+ "deepseek-v3": {
+ "id": "deepseek-v3",
+ "name": "DeepSeek V3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.287,
+ "output": 1.147
+ },
+ "limit": {
+ "context": 65536,
+ "output": 8192
+ }
+ },
+ "deepseek-r1-distill-llama-70b": {
+ "id": "deepseek-r1-distill-llama-70b",
+ "name": "DeepSeek R1 Distill Llama 70B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.287,
+ "output": 0.861
+ },
+ "limit": {
+ "context": 32768,
+ "output": 16384
+ }
+ },
+ "qwen3-coder-480b-a35b-instruct": {
+ "id": "qwen3-coder-480b-a35b-instruct",
+ "name": "Qwen3-Coder 480B-A35B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.861,
+ "output": 3.441,
+ "tiers": [
+ {
+ "input": 1.291,
+ "output": 5.161,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 2.151,
+ "output": 8.602,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen-turbo": {
+ "id": "qwen-turbo",
+ "name": "Qwen Turbo",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 38912
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.044,
+ "output": 0.087
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 16384
+ }
+ },
+ "deepseek-r1-distill-qwen-7b": {
+ "id": "deepseek-r1-distill-qwen-7b",
+ "name": "DeepSeek R1 Distill Qwen 7B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.072,
+ "output": 0.144
+ },
+ "limit": {
+ "context": 32768,
+ "output": 16384
+ }
+ },
+ "qwen2-5-math-72b-instruct": {
+ "id": "qwen2-5-math-72b-instruct",
+ "name": "Qwen2.5-Math 72B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.574,
+ "output": 1.721
+ },
+ "limit": {
+ "context": 4096,
+ "output": 3072
+ }
+ },
+ "qwen3-coder-30b-a3b-instruct": {
+ "id": "qwen3-coder-30b-a3b-instruct",
+ "name": "Qwen3-Coder 30B-A3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.216,
+ "output": 0.861,
+ "tiers": [
+ {
+ "input": 0.323,
+ "output": 1.291,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 0.538,
+ "output": 2.151,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen-doc-turbo": {
+ "id": "qwen-doc-turbo",
+ "name": "Qwen Doc Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.087,
+ "output": 0.144
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "kimi-k2-thinking": {
+ "id": "kimi-k2-thinking",
+ "name": "Moonshot Kimi K2 Thinking",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.574,
+ "output": 2.294
+ },
+ "limit": {
+ "context": 262144,
+ "output": 16384
+ }
+ },
+ "qwen3.8-omni-flash": {
+ "id": "qwen3.8-omni-flash",
+ "name": "Qwen3.8 Omni Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "xhigh"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.113,
+ "output": 0.382,
+ "cache_read": 0.014
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qvq-max": {
+ "id": "qvq-max",
+ "name": "QVQ Max",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.147,
+ "output": 4.588
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen2-5-7b-instruct": {
+ "id": "qwen2-5-7b-instruct",
+ "name": "Qwen2.5 7B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.072,
+ "output": 0.144
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen3-omni-flash": {
+ "id": "qwen3-omni-flash",
+ "name": "Qwen3-Omni Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.058,
+ "output": 0.23
+ },
+ "limit": {
+ "context": 65536,
+ "output": 16384
+ }
+ },
+ "qwen-vl-max": {
+ "id": "qwen-vl-max",
+ "name": "Qwen-VL Max",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.23,
+ "output": 0.574
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen3-235b-a22b": {
+ "id": "qwen3-235b-a22b",
+ "name": "Qwen3 235B-A22B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 38912
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.287,
+ "output": 1.147
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "qwen3-vl-30b-a3b": {
+ "id": "qwen3-vl-30b-a3b",
+ "name": "Qwen3-VL 30B-A3B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.108,
+ "output": 0.431
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "kimi-k2.5": {
+ "id": "kimi-k2.5",
+ "name": "Moonshot Kimi K2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.574,
+ "output": 2.411
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "qwen3-next-80b-a3b-instruct": {
+ "id": "qwen3-next-80b-a3b-instruct",
+ "name": "Qwen3-Next 80B-A3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.144,
+ "output": 0.574
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "qwen-vl-plus": {
+ "id": "qwen-vl-plus",
+ "name": "Qwen-VL Plus",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.115,
+ "output": 0.287
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "deepseek-r1-distill-qwen-1-5b": {
+ "id": "deepseek-r1-distill-qwen-1-5b",
+ "name": "DeepSeek R1 Distill Qwen 1.5B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 32768,
+ "output": 16384
+ }
+ },
+ "qwen3.6-flash": {
+ "id": "qwen3.6-flash",
+ "name": "Qwen3.6 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 131072
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1875,
+ "output": 1.125,
+ "cache_write": 0.234375
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen3-coder-flash": {
+ "id": "qwen3-coder-flash",
+ "name": "Qwen3 Coder Flash",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.144,
+ "output": 0.574
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen2-5-omni-7b": {
+ "id": "qwen2-5-omni-7b",
+ "name": "Qwen2.5-Omni 7B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.087,
+ "output": 0.345
+ },
+ "limit": {
+ "context": 32768,
+ "output": 2048
+ }
+ },
+ "qwen-mt-plus": {
+ "id": "qwen-mt-plus",
+ "name": "Qwen-MT Plus",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.259,
+ "output": 0.775
+ },
+ "limit": {
+ "context": 16384,
+ "output": 8192
+ }
+ },
+ "tongyi-intent-detect-v3": {
+ "id": "tongyi-intent-detect-v3",
+ "name": "Tongyi Intent Detect V3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.058,
+ "output": 0.144
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1024
+ }
+ },
+ "qwen3-vl-235b-a22b": {
+ "id": "qwen3-vl-235b-a22b",
+ "name": "Qwen3-VL 235B-A22B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.286705,
+ "output": 1.14682
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "qwen3-coder-plus": {
+ "id": "qwen3-coder-plus",
+ "name": "Qwen3 Coder Plus",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.574,
+ "output": 2.296,
+ "tiers": [
+ {
+ "input": 0.861,
+ "output": 3.444,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 1.435,
+ "output": 5.74,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ },
+ {
+ "input": 2.87,
+ "output": 28.7,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "moonshot-kimi-k2-instruct": {
+ "id": "moonshot-kimi-k2-instruct",
+ "name": "Moonshot Kimi K2 Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.574,
+ "output": 2.294
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "MiniMax-M2.5": {
+ "id": "MiniMax-M2.5",
+ "name": "MiniMax-M2.5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "qwen2-5-14b-instruct": {
+ "id": "qwen2-5-14b-instruct",
+ "name": "Qwen2.5 14B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.144,
+ "output": 0.431
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen3.8-flash": {
+ "id": "qwen3.8-flash",
+ "name": "Qwen3.8 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ },
+ {
+ "type": "budget_tokens",
+ "max": 262144
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.11875,
+ "output": 0.40073,
+ "cache_read": 0.01187,
+ "cache_write": 0.14844
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qwen2-5-vl-7b-instruct": {
+ "id": "qwen2-5-vl-7b-instruct",
+ "name": "Qwen2.5-VL 7B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.287,
+ "output": 0.717
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen-math-turbo": {
+ "id": "qwen-math-turbo",
+ "name": "Qwen Math Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.287,
+ "output": 0.861
+ },
+ "limit": {
+ "context": 4096,
+ "output": 3072
+ }
+ },
+ "qwen-long": {
+ "id": "qwen-long",
+ "name": "Qwen Long",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.072,
+ "output": 0.287
+ },
+ "limit": {
+ "context": 10000000,
+ "output": 8192
+ }
+ },
+ "qwen3.6-max-preview": {
+ "id": "qwen3.6-max-preview",
+ "name": "Qwen3.6 Max Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 131072
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.32,
+ "output": 7.9,
+ "cache_read": 0.132
+ },
+ "limit": {
+ "context": 245800,
+ "output": 65536
+ }
+ },
+ "qwen-mt-turbo": {
+ "id": "qwen-mt-turbo",
+ "name": "Qwen-MT Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.101,
+ "output": 0.28
+ },
+ "limit": {
+ "context": 16384,
+ "output": 8192
+ }
+ },
+ "qwen3.5-397b-a17b": {
+ "id": "qwen3.5-397b-a17b",
+ "name": "Qwen3.5 397B-A17B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.172,
+ "output": 1.032,
+ "tiers": [
+ {
+ "input": 0.43,
+ "output": 2.58,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen3-8b": {
+ "id": "qwen3-8b",
+ "name": "Qwen3 8B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 38912
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.072,
+ "output": 0.287
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "glm-5.2": {
+ "id": "glm-5.2",
+ "name": "GLM-5.2",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 3.851,
+ "cache_read": 0.275,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "qwen-omni-turbo": {
+ "id": "qwen-omni-turbo",
+ "name": "Qwen-Omni Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.058,
+ "output": 0.23
+ },
+ "limit": {
+ "context": 32768,
+ "output": 2048
+ }
+ },
+ "glm-5.1": {
+ "id": "glm-5.1",
+ "name": "GLM-5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 131072
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.825,
+ "output": 3.301,
+ "cache_read": 0.17,
+ "tiers": [
+ {
+ "input": 1.1,
+ "output": 3.851,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 202752,
+ "output": 128000
+ }
+ },
+ "qwen3-omni-flash-realtime": {
+ "id": "qwen3-omni-flash-realtime",
+ "name": "Qwen3-Omni Flash Realtime",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.23,
+ "output": 0.918
+ },
+ "limit": {
+ "context": 65536,
+ "output": 16384
+ }
+ },
+ "qwen3-asr-flash": {
+ "id": "qwen3-asr-flash",
+ "name": "Qwen3-ASR Flash",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.032,
+ "output": 0.032
+ },
+ "limit": {
+ "context": 53248,
+ "output": 4096
+ }
+ },
+ "deepseek-r1-distill-qwen-32b": {
+ "id": "deepseek-r1-distill-qwen-32b",
+ "name": "DeepSeek R1 Distill Qwen 32B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.287,
+ "output": 0.861
+ },
+ "limit": {
+ "context": 32768,
+ "output": 16384
+ }
+ },
+ "deepseek-r1": {
+ "id": "deepseek-r1",
+ "name": "DeepSeek R1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.574,
+ "output": 2.294
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "deepseek-v4-pro": {
+ "id": "deepseek-v4-pro",
+ "name": "DeepSeek V4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.435,
+ "output": 0.87,
+ "cache_read": 0.003625
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "deepseek-r1-0528": {
+ "id": "deepseek-r1-0528",
+ "name": "DeepSeek R1 0528",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.574,
+ "output": 2.294
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "qwen3.6-plus": {
+ "id": "qwen3.6-plus",
+ "name": "Qwen3.6 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05,
+ "cache_write": 0.625,
+ "tiers": [
+ {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen3-14b": {
+ "id": "qwen3-14b",
+ "name": "Qwen3 14B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 38912
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.144,
+ "output": 0.574
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "glm-5.3": {
+ "id": "glm-5.3",
+ "name": "GLM-5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 3.851,
+ "cache_read": 0.275,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qwen3.7-plus": {
+ "id": "qwen3.7-plus",
+ "name": "Qwen3.7 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 262144
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05,
+ "cache_write": 0.625,
+ "tiers": [
+ {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "deepseek-v4-flash": {
+ "id": "deepseek-v4-flash",
+ "name": "DeepSeek V4 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.0028
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "qwen-vl-ocr": {
+ "id": "qwen-vl-ocr",
+ "name": "Qwen-VL OCR",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.043,
+ "output": 0.072
+ },
+ "limit": {
+ "context": 34096,
+ "output": 4096
+ }
+ },
+ "siliconflow/deepseek-v3-0324": {
+ "id": "siliconflow/deepseek-v3-0324",
+ "name": "siliconflow/deepseek-v3-0324",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1
+ },
+ "limit": {
+ "context": 163840,
+ "output": 163840
+ }
+ },
+ "siliconflow/deepseek-v3.1-terminus": {
+ "id": "siliconflow/deepseek-v3.1-terminus",
+ "name": "siliconflow/deepseek-v3.1-terminus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.27,
+ "output": 1
+ },
+ "limit": {
+ "context": 163840,
+ "output": 65536
+ }
+ },
+ "siliconflow/deepseek-r1-0528": {
+ "id": "siliconflow/deepseek-r1-0528",
+ "name": "siliconflow/deepseek-r1-0528",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 2.18
+ },
+ "limit": {
+ "context": 163840,
+ "output": 32768
+ }
+ },
+ "siliconflow/deepseek-v3.2": {
+ "id": "siliconflow/deepseek-v3.2",
+ "name": "siliconflow/deepseek-v3.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.27,
+ "output": 0.42
+ },
+ "limit": {
+ "context": 163840,
+ "output": 65536
+ }
+ },
+ "kimi/kimi-k2.5": {
+ "id": "kimi/kimi-k2.5",
+ "name": "kimi/kimi-k2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "MiniMax/MiniMax-M2.7": {
+ "id": "MiniMax/MiniMax-M2.7",
+ "name": "MiniMax-M2.7",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ }
+ }
+ },
+ "amazon-bedrock": {
+ "id": "amazon-bedrock",
+ "name": "Amazon Bedrock",
+ "env": [
+ "AWS_ACCESS_KEY_ID",
+ "AWS_SECRET_ACCESS_KEY",
+ "AWS_REGION",
+ "AWS_BEARER_TOKEN_BEDROCK"
+ ],
+ "npm": "@ai-sdk/amazon-bedrock",
+ "models": {
+ "google.gemma-3-12b-it": {
+ "id": "google.gemma-3-12b-it",
+ "name": "Gemma 3 12B IT",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.09,
+ "output": 0.29
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "google.gemma-3-4b-it": {
+ "id": "google.gemma-3-4b-it",
+ "name": "Gemma 3 4B IT",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.04,
+ "output": 0.08
+ },
+ "limit": {
+ "context": 131072,
+ "output": 4096
+ }
+ },
+ "eu.anthropic.claude-fable-5": {
+ "id": "eu.anthropic.claude-fable-5",
+ "name": "Claude Fable 5 (EU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 11,
+ "output": 55,
+ "cache_read": 1.1,
+ "cache_write": 13.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "qwen.qwen3-coder-480b-a35b-v1:0": {
+ "id": "qwen.qwen3-coder-480b-a35b-v1:0",
+ "name": "Qwen3-Coder 480B-A35B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.45,
+ "output": 1.8
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "google.gemma-4-31b": {
+ "id": "google.gemma-4-31b",
+ "name": "Gemma 4 31B IT",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+ }
+ },
+ "us.writer.palmyra-x5-v1:0": {
+ "id": "us.writer.palmyra-x5-v1:0",
+ "name": "Palmyra X5 (US)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 6
+ },
+ "limit": {
+ "context": 1040000,
+ "output": 8192
+ }
+ },
+ "google.gemma-4-e2b": {
+ "id": "google.gemma-4-e2b",
+ "name": "Gemma 4 E2B IT",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.04,
+ "output": 0.08
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+ }
+ },
+ "us.anthropic.claude-opus-4-7": {
+ "id": "us.anthropic.claude-opus-4-7",
+ "name": "Claude Opus 4.7 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "global.openai.gpt-6-astra": {
+ "id": "global.openai.gpt-6-astra",
+ "name": "GPT-6 Astra (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tiers": [
+ {
+ "input": 20,
+ "output": 75,
+ "cache_read": 2,
+ "cache_write": 25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "eu.amazon.nova-lite-v1:0": {
+ "id": "eu.amazon.nova-lite-v1:0",
+ "name": "Nova Lite (EU)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.069,
+ "output": 0.276,
+ "cache_read": 0.01725,
+ "cache_write": 0.069
+ },
+ "limit": {
+ "context": 300000,
+ "output": 10000
+ }
+ },
+ "global.anthropic.claude-opus-5-5": {
+ "id": "global.anthropic.claude-opus-5-5",
+ "name": "Claude Opus 5.5 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.2,
+ "cache_write": 5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "deepseek.r1-v1:0": {
+ "id": "deepseek.r1-v1:0",
+ "name": "DeepSeek-R1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.35,
+ "output": 5.4
+ },
+ "limit": {
+ "context": 128000,
+ "output": 32768
+ }
+ },
+ "openai.gpt-oss-safeguard-20b": {
+ "id": "openai.gpt-oss-safeguard-20b",
+ "name": "GPT OSS Safeguard 20B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.07,
+ "output": 0.2
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "anthropic.claude-opus-5-5": {
+ "id": "anthropic.claude-opus-5-5",
+ "name": "Claude Opus 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.2,
+ "cache_write": 5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "global.anthropic.claude-haiku-4-5-20251001-v1:0": {
+ "id": "global.anthropic.claude-haiku-4-5-20251001-v1:0",
+ "name": "Claude Haiku 4.5 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 5,
+ "cache_read": 0.1,
+ "cache_write": 1.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "eu.amazon.nova-2-lite-v1:0": {
+ "id": "eu.amazon.nova-2-lite-v1:0",
+ "name": "Nova 2 Lite (EU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.374,
+ "output": 3.157,
+ "cache_read": 0.0935,
+ "cache_write": 0.374
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65535
+ }
+ },
+ "us.amazon.nova-pro-v1:0": {
+ "id": "us.amazon.nova-pro-v1:0",
+ "name": "Nova Pro (US)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 3.2,
+ "cache_read": 0.2,
+ "cache_write": 0.8
+ },
+ "limit": {
+ "context": 300000,
+ "output": 10000
+ }
+ },
+ "jp.anthropic.claude-opus-5-5": {
+ "id": "jp.anthropic.claude-opus-5-5",
+ "name": "Claude Opus 5.5 (JP)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4.4,
+ "output": 22,
+ "cache_read": 0.22,
+ "cache_write": 5.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic.claude-sonnet-5-5": {
+ "id": "anthropic.claude-sonnet-5-5",
+ "name": "Claude Sonnet 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "global.anthropic.claude-sonnet-5-5": {
+ "id": "global.anthropic.claude-sonnet-5-5",
+ "name": "Claude Sonnet 5.5 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "openai.gpt-5.6-luna": {
+ "id": "openai.gpt-5.6-luna",
+ "name": "GPT-5.6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.22,
+ "output": 1.32,
+ "cache_read": 0.022,
+ "cache_write": 0.275,
+ "tiers": [
+ {
+ "input": 0.44,
+ "output": 1.98,
+ "cache_read": 0.044,
+ "cache_write": 0.55,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+ }
+ },
+ "us.meta.llama4-maverick-17b-instruct-v1:0": {
+ "id": "us.meta.llama4-maverick-17b-instruct-v1:0",
+ "name": "Llama 4 Maverick 17B Instruct (US)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.24,
+ "output": 0.97
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 8192
+ }
+ },
+ "apac.amazon.nova-micro-v1:0": {
+ "id": "apac.amazon.nova-micro-v1:0",
+ "name": "Nova Micro (APAC)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.037,
+ "output": 0.148,
+ "cache_read": 0.00925,
+ "cache_write": 0.037
+ },
+ "limit": {
+ "context": 128000,
+ "output": 10000
+ }
+ },
+ "eu.anthropic.claude-sonnet-4-20250514-v1:0": {
+ "id": "eu.anthropic.claude-sonnet-4-20250514-v1:0",
+ "name": "Claude Sonnet 4 (EU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "eu.anthropic.claude-opus-4-5-20251101-v1:0": {
+ "id": "eu.anthropic.claude-opus-4-5-20251101-v1:0",
+ "name": "Claude Opus 4.5 (EU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "global.openai.gpt-6-sol": {
+ "id": "global.openai.gpt-6-sol",
+ "name": "GPT-6 Sol (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "qwen.qwen3-coder-30b-a3b-v1:0": {
+ "id": "qwen.qwen3-coder-30b-a3b-v1:0",
+ "name": "Qwen3-Coder 30B-A3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "us.amazon.nova-premier-v1:0": {
+ "id": "us.amazon.nova-premier-v1:0",
+ "name": "Nova Premier (US)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 12.5,
+ "cache_read": 0.625,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 10000
+ }
+ },
+ "anthropic.claude-sonnet-4-6": {
+ "id": "anthropic.claude-sonnet-4-6",
+ "name": "Claude Sonnet 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.3,
+ "output": 16.5,
+ "cache_read": 0.33,
+ "cache_write": 4.125
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "meta.llama3-1-70b-instruct-v1:0": {
+ "id": "meta.llama3-1-70b-instruct-v1:0",
+ "name": "Llama 3.1 70B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.72,
+ "output": 0.72
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "us.writer.palmyra-x4-v1:0": {
+ "id": "us.writer.palmyra-x4-v1:0",
+ "name": "Palmyra X4 (US)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10
+ },
+ "limit": {
+ "context": 122880,
+ "output": 8192
+ }
+ },
+ "apac.amazon.nova-pro-v1:0": {
+ "id": "apac.amazon.nova-pro-v1:0",
+ "name": "Nova Pro (APAC)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.84,
+ "output": 3.36,
+ "cache_read": 0.21,
+ "cache_write": 0.84
+ },
+ "limit": {
+ "context": 300000,
+ "output": 10000
+ }
+ },
+ "global.anthropic.claude-fable-5-1": {
+ "id": "global.anthropic.claude-fable-5-1",
+ "name": "Claude Fable 5.1 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 0.25,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "us.anthropic.claude-sonnet-5": {
+ "id": "us.anthropic.claude-sonnet-5",
+ "name": "Claude Sonnet 5 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.2,
+ "output": 11,
+ "cache_read": 0.22,
+ "cache_write": 2.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "amazon.nova-micro-v1:0": {
+ "id": "amazon.nova-micro-v1:0",
+ "name": "Nova Micro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.035,
+ "output": 0.14,
+ "cache_read": 0.00875,
+ "cache_write": 0.035
+ },
+ "limit": {
+ "context": 128000,
+ "output": 10000
+ }
+ },
+ "minimax.minimax-m2.5": {
+ "id": "minimax.minimax-m2.5",
+ "name": "MiniMax-M2.5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 196608,
+ "output": 98304
+ }
+ },
+ "xai.grok-4.3": {
+ "id": "xai.grok-4.3",
+ "name": "Grok 4.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+ }
+ },
+ "us.amazon.nova-lite-v1:0": {
+ "id": "us.amazon.nova-lite-v1:0",
+ "name": "Nova Lite (US)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.24,
+ "cache_read": 0.015,
+ "cache_write": 0.06
+ },
+ "limit": {
+ "context": 300000,
+ "output": 10000
+ }
+ },
+ "amazon.nova-pro-v1:0": {
+ "id": "amazon.nova-pro-v1:0",
+ "name": "Nova Pro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 3.2,
+ "cache_read": 0.2,
+ "cache_write": 0.8
+ },
+ "limit": {
+ "context": 300000,
+ "output": 10000
+ }
+ },
+ "qwen.qwen3-32b-v1:0": {
+ "id": "qwen.qwen3-32b-v1:0",
+ "name": "Qwen3 32B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6
+ },
+ "limit": {
+ "context": 32768,
+ "output": 16384
+ }
+ },
+ "openai.gpt-5.5": {
+ "id": "openai.gpt-5.5",
+ "name": "GPT-5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 33,
+ "cache_read": 0.55
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+ }
+ },
+ "mistral.voxtral-small-24b-2507": {
+ "id": "mistral.voxtral-small-24b-2507",
+ "name": "Voxtral Small 24B 2507",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 32768,
+ "output": 8192
+ }
+ },
+ "global.amazon.nova-2-lite-v1:0": {
+ "id": "global.amazon.nova-2-lite-v1:0",
+ "name": "Nova 2 Lite (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.075,
+ "cache_write": 0.3
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65535
+ }
+ },
+ "us.openai.gpt-5.6-terra": {
+ "id": "us.openai.gpt-5.6-terra",
+ "name": "GPT-5.6 Terra (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.2,
+ "output": 13.2,
+ "cache_read": 0.22,
+ "cache_write": 2.75,
+ "tiers": [
+ {
+ "input": 4.4,
+ "output": 19.8,
+ "cache_read": 0.44,
+ "cache_write": 5.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "mistral.devstral-2-123b": {
+ "id": "mistral.devstral-2-123b",
+ "name": "Devstral 2 123B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 8192
+ }
+ },
+ "us.xai.grok-4.6": {
+ "id": "us.xai.grok-4.6",
+ "name": "Grok 4.6 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.2,
+ "output": 6.6,
+ "cache_read": 0.55
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ }
+ },
+ "jp.anthropic.claude-sonnet-4-5-20250929-v1:0": {
+ "id": "jp.anthropic.claude-sonnet-4-5-20250929-v1:0",
+ "name": "Claude Sonnet 4.5 (JP)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.3,
+ "output": 16.5,
+ "cache_read": 0.33,
+ "cache_write": 4.125
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "anthropic.claude-fable-5": {
+ "id": "anthropic.claude-fable-5",
+ "name": "Claude Fable 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic.claude-sonnet-4-5-20250929-v1:0": {
+ "id": "anthropic.claude-sonnet-4-5-20250929-v1:0",
+ "name": "Claude Sonnet 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "jp.anthropic.claude-opus-4-8": {
+ "id": "jp.anthropic.claude-opus-4-8",
+ "name": "Claude Opus 4.8 (JP)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "us.openai.gpt-5.6-luna": {
+ "id": "us.openai.gpt-5.6-luna",
+ "name": "GPT-5.6 Luna (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.22,
+ "output": 1.32,
+ "cache_read": 0.022,
+ "cache_write": 0.275,
+ "tiers": [
+ {
+ "input": 0.44,
+ "output": 1.98,
+ "cache_read": 0.044,
+ "cache_write": 0.55,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "us.anthropic.claude-sonnet-4-5-20250929-v1:0": {
+ "id": "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
+ "name": "Claude Sonnet 4.5 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.3,
+ "output": 16.5,
+ "cache_read": 0.33,
+ "cache_write": 4.125
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "au.anthropic.claude-opus-5": {
+ "id": "au.anthropic.claude-opus-5",
+ "name": "Claude Opus 5 (AU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "nvidia.nemotron-nano-12b-v2": {
+ "id": "nvidia.nemotron-nano-12b-v2",
+ "name": "NVIDIA Nemotron Nano 12B v2 VL BF16",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.6
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "us.amazon.nova-2-lite-v1:0": {
+ "id": "us.amazon.nova-2-lite-v1:0",
+ "name": "Nova 2 Lite (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.33,
+ "output": 2.75,
+ "cache_read": 0.0825,
+ "cache_write": 0.33
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65535
+ }
+ },
+ "us.openai.gpt-6-astra": {
+ "id": "us.openai.gpt-6-astra",
+ "name": "GPT-6 Astra (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 11,
+ "output": 55,
+ "cache_read": 1.1,
+ "cache_write": 13.75,
+ "tiers": [
+ {
+ "input": 22,
+ "output": 82.5,
+ "cache_read": 2.2,
+ "cache_write": 27.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai.gpt-5.6-terra": {
+ "id": "openai.gpt-5.6-terra",
+ "name": "GPT-5.6 Terra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.2,
+ "output": 13.2,
+ "cache_read": 0.22,
+ "cache_write": 2.75,
+ "tiers": [
+ {
+ "input": 4.4,
+ "output": 19.8,
+ "cache_read": 0.44,
+ "cache_write": 5.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+ }
+ },
+ "anthropic.claude-opus-4-6-v1": {
+ "id": "anthropic.claude-opus-4-6-v1",
+ "name": "Claude Opus 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "us.anthropic.claude-opus-4-1-20250805-v1:0": {
+ "id": "us.anthropic.claude-opus-4-1-20250805-v1:0",
+ "name": "Claude Opus 4.1 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 75,
+ "cache_read": 1.5,
+ "cache_write": 18.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 32000
+ }
+ },
+ "us.meta.llama3-1-8b-instruct-v1:0": {
+ "id": "us.meta.llama3-1-8b-instruct-v1:0",
+ "name": "Llama 3.1 8B Instruct (US)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.22,
+ "output": 0.22
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "eu.anthropic.claude-haiku-4-5-20251001-v1:0": {
+ "id": "eu.anthropic.claude-haiku-4-5-20251001-v1:0",
+ "name": "Claude Haiku 4.5 (EU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 5.5,
+ "cache_read": 0.11,
+ "cache_write": 1.375
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "global.anthropic.claude-opus-4-7": {
+ "id": "global.anthropic.claude-opus-4-7",
+ "name": "Claude Opus 4.7 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "apac.anthropic.claude-sonnet-4-20250514-v1:0": {
+ "id": "apac.anthropic.claude-sonnet-4-20250514-v1:0",
+ "name": "Claude Sonnet 4 (APAC)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "deepseek.v3.2": {
+ "id": "deepseek.v3.2",
+ "name": "DeepSeek V3.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.62,
+ "output": 1.85
+ },
+ "limit": {
+ "context": 163840,
+ "output": 81920
+ }
+ },
+ "qwen.qwen3-235b-a22b-2507-v1:0": {
+ "id": "qwen.qwen3-235b-a22b-2507-v1:0",
+ "name": "Qwen3 235B-A22B Instruct 2507",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.22,
+ "output": 0.88
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "amazon.nova-lite-v1:0": {
+ "id": "amazon.nova-lite-v1:0",
+ "name": "Nova Lite",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.24,
+ "cache_read": 0.015,
+ "cache_write": 0.06
+ },
+ "limit": {
+ "context": 300000,
+ "output": 10000
+ }
+ },
+ "global.anthropic.claude-opus-5": {
+ "id": "global.anthropic.claude-opus-5",
+ "name": "Claude Opus 5 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "openai.gpt-oss-20b-1:0": {
+ "id": "openai.gpt-oss-20b-1:0",
+ "name": "gpt-oss-20b",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.07,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 131072,
+ "output": 128000
+ }
+ },
+ "anthropic.claude-opus-5": {
+ "id": "anthropic.claude-opus-5",
+ "name": "Claude Opus 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "meta.llama3-3-70b-instruct-v1:0": {
+ "id": "meta.llama3-3-70b-instruct-v1:0",
+ "name": "Llama 3.3 70B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.72,
+ "output": 0.72
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "minimax.minimax-m2": {
+ "id": "minimax.minimax-m2",
+ "name": "MiniMax-M2",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 204608,
+ "output": 128000
+ }
+ },
+ "mistral.mistral-large-3-675b-instruct": {
+ "id": "mistral.mistral-large-3-675b-instruct",
+ "name": "Mistral Large 3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.5
+ },
+ "limit": {
+ "context": 262144,
+ "output": 8192
+ }
+ },
+ "in.openai.gpt-5.6-luna": {
+ "id": "in.openai.gpt-5.6-luna",
+ "name": "GPT-5.6 Luna (India)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.22,
+ "output": 1.32,
+ "cache_read": 0.022,
+ "cache_write": 0.275,
+ "tiers": [
+ {
+ "input": 0.44,
+ "output": 1.98,
+ "cache_read": 0.044,
+ "cache_write": 0.55,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "eu.anthropic.claude-opus-4-8": {
+ "id": "eu.anthropic.claude-opus-4-8",
+ "name": "Claude Opus 4.8 (EU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "global.anthropic.claude-sonnet-4-5-20250929-v1:0": {
+ "id": "global.anthropic.claude-sonnet-4-5-20250929-v1:0",
+ "name": "Claude Sonnet 4.5 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "zai.glm-4.7": {
+ "id": "zai.glm-4.7",
+ "name": "GLM-4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2
+ },
+ "limit": {
+ "context": 202752,
+ "output": 131072
+ }
+ },
+ "au.anthropic.claude-sonnet-4-5-20250929-v1:0": {
+ "id": "au.anthropic.claude-sonnet-4-5-20250929-v1:0",
+ "name": "Claude Sonnet 4.5 (AU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.3,
+ "output": 16.5,
+ "cache_read": 0.33,
+ "cache_write": 4.125
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "eu.anthropic.claude-opus-5-5": {
+ "id": "eu.anthropic.claude-opus-5-5",
+ "name": "Claude Opus 5.5 (EU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4.4,
+ "output": 22,
+ "cache_read": 0.22,
+ "cache_write": 5.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "global.anthropic.claude-sonnet-4-6": {
+ "id": "global.anthropic.claude-sonnet-4-6",
+ "name": "Claude Sonnet 4.6 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "jp.anthropic.claude-sonnet-4-6": {
+ "id": "jp.anthropic.claude-sonnet-4-6",
+ "name": "Claude Sonnet 4.6 (JP)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.3,
+ "output": 16.5,
+ "cache_read": 0.33,
+ "cache_write": 4.125
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "google.gemma-3-27b-it": {
+ "id": "google.gemma-3-27b-it",
+ "name": "Gemma 3 27B IT",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.23,
+ "output": 0.38
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "eu.anthropic.claude-opus-4-6-v1": {
+ "id": "eu.anthropic.claude-opus-4-6-v1",
+ "name": "Claude Opus 4.6 (EU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "us.anthropic.claude-opus-5-5": {
+ "id": "us.anthropic.claude-opus-5-5",
+ "name": "Claude Opus 5.5 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4.4,
+ "output": 22,
+ "cache_read": 0.22,
+ "cache_write": 5.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "us.anthropic.claude-opus-5": {
+ "id": "us.anthropic.claude-opus-5",
+ "name": "Claude Opus 5 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "global.xai.grok-4.7": {
+ "id": "global.xai.grok-4.7",
+ "name": "Grok 4.7 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ }
+ },
+ "us.openai.gpt-5.6-sol": {
+ "id": "us.openai.gpt-5.6-sol",
+ "name": "GPT-5.6 Sol (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4.4,
+ "output": 22,
+ "cache_read": 0.44,
+ "cache_write": 5.5,
+ "tiers": [
+ {
+ "input": 8.8,
+ "output": 33,
+ "cache_read": 0.88,
+ "cache_write": 11,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "us.moonshotai.kimi-k3": {
+ "id": "us.moonshotai.kimi-k3",
+ "name": "Kimi K3 (US)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": true,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.3,
+ "output": 16.5,
+ "cache_read": 0.33,
+ "cache_write": 4.125
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 128000
+ }
+ },
+ "anthropic.claude-sonnet-5": {
+ "id": "anthropic.claude-sonnet-5",
+ "name": "Claude Sonnet 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "mistral.magistral-small-2509": {
+ "id": "mistral.magistral-small-2509",
+ "name": "Magistral Small 1.2",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.5
+ },
+ "limit": {
+ "context": 128000,
+ "output": 40000
+ }
+ },
+ "mistral.pixtral-large-2502-v1:0": {
+ "id": "mistral.pixtral-large-2502-v1:0",
+ "name": "Pixtral Large (25.02)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "anthropic.claude-opus-4-5-20251101-v1:0": {
+ "id": "anthropic.claude-opus-4-5-20251101-v1:0",
+ "name": "Claude Opus 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "nvidia.nemotron-nano-9b-v2": {
+ "id": "nvidia.nemotron-nano-9b-v2",
+ "name": "NVIDIA Nemotron Nano 9B v2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.23
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "eu.amazon.nova-micro-v1:0": {
+ "id": "eu.amazon.nova-micro-v1:0",
+ "name": "Nova Micro (EU)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.04,
+ "output": 0.16,
+ "cache_read": 0.01,
+ "cache_write": 0.04
+ },
+ "limit": {
+ "context": 128000,
+ "output": 10000
+ }
+ },
+ "zai.glm-5": {
+ "id": "zai.glm-5",
+ "name": "GLM-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 3.2
+ },
+ "limit": {
+ "context": 202752,
+ "output": 131072
+ }
+ },
+ "us.meta.llama3-1-70b-instruct-v1:0": {
+ "id": "us.meta.llama3-1-70b-instruct-v1:0",
+ "name": "Llama 3.1 70B Instruct (US)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.72,
+ "output": 0.72
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "jp.anthropic.claude-haiku-4-5-20251001-v1:0": {
+ "id": "jp.anthropic.claude-haiku-4-5-20251001-v1:0",
+ "name": "Claude Haiku 4.5 (JP)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 5.5,
+ "cache_read": 0.11,
+ "cache_write": 1.375
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "nvidia.nemotron-nano-3-30b": {
+ "id": "nvidia.nemotron-nano-3-30b",
+ "name": "NVIDIA Nemotron Nano 3 30B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.24
+ },
+ "limit": {
+ "context": 262144,
+ "output": 8192
+ }
+ },
+ "mistral.ministral-3-3b-instruct": {
+ "id": "mistral.ministral-3-3b-instruct",
+ "name": "Ministral 3 3B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.1
+ },
+ "limit": {
+ "context": 256000,
+ "output": 8192
+ }
+ },
+ "us.xai.grok-4.7": {
+ "id": "us.xai.grok-4.7",
+ "name": "Grok 4.7 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.2,
+ "output": 6.6,
+ "cache_read": 0.55
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ }
+ },
+ "us.openai.gpt-6-luna": {
+ "id": "us.openai.gpt-6-luna",
+ "name": "GPT-6 Luna (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.11,
+ "output": 0.55,
+ "cache_read": 0.011,
+ "cache_write": 0.1375,
+ "tiers": [
+ {
+ "input": 0.22,
+ "output": 0.825,
+ "cache_read": 0.022,
+ "cache_write": 0.275,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "global.openai.gpt-5.6-sol": {
+ "id": "global.openai.gpt-5.6-sol",
+ "name": "GPT-5.6 Sol (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tiers": [
+ {
+ "input": 8,
+ "output": 30,
+ "cache_read": 0.8,
+ "cache_write": 10,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "google.gemma-4-26b-a4b": {
+ "id": "google.gemma-4-26b-a4b",
+ "name": "Gemma 4 26B A4B IT",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.13,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+ }
+ },
+ "xai.grok-4.6": {
+ "id": "xai.grok-4.6",
+ "name": "Grok 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.2,
+ "output": 6.6,
+ "cache_read": 0.55
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+ }
+ },
+ "global.xai.grok-4.6": {
+ "id": "global.xai.grok-4.6",
+ "name": "Grok 4.6 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ }
+ },
+ "au.anthropic.claude-opus-4-6-v1": {
+ "id": "au.anthropic.claude-opus-4-6-v1",
+ "name": "AU Anthropic Claude Opus 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "qwen.qwen3-vl-235b-a22b": {
+ "id": "qwen.qwen3-vl-235b-a22b",
+ "name": "Qwen3 VL 235B A22B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.53,
+ "output": 2.66
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262000
+ }
+ },
+ "anthropic.claude-fable-5-1": {
+ "id": "anthropic.claude-fable-5-1",
+ "name": "Claude Fable 5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 0.25,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "jp.anthropic.claude-sonnet-5": {
+ "id": "jp.anthropic.claude-sonnet-5",
+ "name": "Claude Sonnet 5 (JP)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.2,
+ "output": 11,
+ "cache_read": 0.22,
+ "cache_write": 2.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "qwen.qwen3-coder-next": {
+ "id": "qwen.qwen3-coder-next",
+ "name": "Qwen3 Coder Next",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "anthropic.claude-opus-4-8": {
+ "id": "anthropic.claude-opus-4-8",
+ "name": "Claude Opus 4.8",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "au.anthropic.claude-sonnet-5": {
+ "id": "au.anthropic.claude-sonnet-5",
+ "name": "Claude Sonnet 5 (AU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.2,
+ "output": 11,
+ "cache_read": 0.22,
+ "cache_write": 2.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "meta.llama4-scout-17b-instruct-v1:0": {
+ "id": "meta.llama4-scout-17b-instruct-v1:0",
+ "name": "Llama 4 Scout 17B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.17,
+ "output": 0.66
+ },
+ "limit": {
+ "context": 10000000,
+ "output": 8192
+ }
+ },
+ "openai.gpt-oss-safeguard-120b": {
+ "id": "openai.gpt-oss-safeguard-120b",
+ "name": "GPT OSS Safeguard 120B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "us.meta.llama3-3-70b-instruct-v1:0": {
+ "id": "us.meta.llama3-3-70b-instruct-v1:0",
+ "name": "Llama 3.3 70B Instruct (US)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.72,
+ "output": 0.72
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "global.openai.gpt-5.6-luna": {
+ "id": "global.openai.gpt-5.6-luna",
+ "name": "GPT-5.6 Luna (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.2,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tiers": [
+ {
+ "input": 0.4,
+ "output": 1.8,
+ "cache_read": 0.04,
+ "cache_write": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "au.anthropic.claude-sonnet-4-6": {
+ "id": "au.anthropic.claude-sonnet-4-6",
+ "name": "AU Anthropic Claude Sonnet 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.3,
+ "output": 16.5,
+ "cache_read": 0.33,
+ "cache_write": 4.125
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "openai.gpt-oss-120b": {
+ "id": "openai.gpt-oss-120b",
+ "name": "gpt-oss-120b",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/v1"
+ }
+ },
+ "deepseek.v3-v1:0": {
+ "id": "deepseek.v3-v1:0",
+ "name": "DeepSeek-V3.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.58,
+ "output": 1.68
+ },
+ "limit": {
+ "context": 163840,
+ "output": 81920
+ }
+ },
+ "moonshotai.kimi-k2.5": {
+ "id": "moonshotai.kimi-k2.5",
+ "name": "Kimi K2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3
+ },
+ "limit": {
+ "context": 262144,
+ "output": 16384
+ }
+ },
+ "eu.anthropic.claude-sonnet-4-6": {
+ "id": "eu.anthropic.claude-sonnet-4-6",
+ "name": "Claude Sonnet 4.6 (EU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.3,
+ "output": 16.5,
+ "cache_read": 0.33,
+ "cache_write": 4.125
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "us-gov.openai.gpt-oss-120b-1:0": {
+ "id": "us-gov.openai.gpt-oss-120b-1:0",
+ "name": "gpt-oss-120b (GovCloud)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.18,
+ "output": 0.72
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "us.anthropic.claude-fable-5": {
+ "id": "us.anthropic.claude-fable-5",
+ "name": "Claude Fable 5 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 11,
+ "output": 55,
+ "cache_read": 1.1,
+ "cache_write": 13.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "openai.gpt-6-sol": {
+ "id": "openai.gpt-6-sol",
+ "name": "GPT-6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.2,
+ "output": 11,
+ "cache_read": 0.22,
+ "cache_write": 2.75,
+ "tiers": [
+ {
+ "input": 4.4,
+ "output": 16.5,
+ "cache_read": 0.44,
+ "cache_write": 5.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+ }
+ },
+ "us.deepseek.r1-v1:0": {
+ "id": "us.deepseek.r1-v1:0",
+ "name": "DeepSeek-R1 (US)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.35,
+ "output": 5.4
+ },
+ "limit": {
+ "context": 128000,
+ "output": 32768
+ }
+ },
+ "eu.anthropic.claude-opus-5": {
+ "id": "eu.anthropic.claude-opus-5",
+ "name": "Claude Opus 5 (EU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "ca.amazon.nova-lite-v1:0": {
+ "id": "ca.amazon.nova-lite-v1:0",
+ "name": "Nova Lite (CA)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.064,
+ "output": 0.256,
+ "cache_read": 0.016,
+ "cache_write": 0.064
+ },
+ "limit": {
+ "context": 300000,
+ "output": 10000
+ }
+ },
+ "us.openai.gpt-6-sol": {
+ "id": "us.openai.gpt-6-sol",
+ "name": "GPT-6 Sol (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.2,
+ "output": 11,
+ "cache_read": 0.22,
+ "cache_write": 2.75,
+ "tiers": [
+ {
+ "input": 4.4,
+ "output": 16.5,
+ "cache_read": 0.44,
+ "cache_write": 5.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "au.anthropic.claude-opus-4-7": {
+ "id": "au.anthropic.claude-opus-4-7",
+ "name": "Claude Opus 4.7 (AU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "us.meta.llama4-scout-17b-instruct-v1:0": {
+ "id": "us.meta.llama4-scout-17b-instruct-v1:0",
+ "name": "Llama 4 Scout 17B Instruct (US)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.17,
+ "output": 0.66
+ },
+ "limit": {
+ "context": 10000000,
+ "output": 8192
+ }
+ },
+ "global.anthropic.claude-sonnet-5": {
+ "id": "global.anthropic.claude-sonnet-5",
+ "name": "Claude Sonnet 5 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "global.anthropic.claude-fable-5": {
+ "id": "global.anthropic.claude-fable-5",
+ "name": "Claude Fable 5 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "apac.amazon.nova-lite-v1:0": {
+ "id": "apac.amazon.nova-lite-v1:0",
+ "name": "Nova Lite (APAC)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.063,
+ "output": 0.252,
+ "cache_read": 0.01575,
+ "cache_write": 0.063
+ },
+ "limit": {
+ "context": 300000,
+ "output": 10000
+ }
+ },
+ "us.anthropic.claude-opus-4-8": {
+ "id": "us.anthropic.claude-opus-4-8",
+ "name": "Claude Opus 4.8 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "nvidia.nemotron-super-3-120b": {
+ "id": "nvidia.nemotron-super-3-120b",
+ "name": "NVIDIA Nemotron 3 Super 120B A12B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.65
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "global.openai.gpt-6-luna": {
+ "id": "global.openai.gpt-6-luna",
+ "name": "GPT-6 Luna (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.5,
+ "cache_read": 0.01,
+ "cache_write": 0.125,
+ "tiers": [
+ {
+ "input": 0.2,
+ "output": 0.75,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "us-gov.openai.gpt-oss-20b-1:0": {
+ "id": "us-gov.openai.gpt-oss-20b-1:0",
+ "name": "gpt-oss-20b (GovCloud)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.084,
+ "output": 0.36
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "us.anthropic.claude-opus-4-6-v1": {
+ "id": "us.anthropic.claude-opus-4-6-v1",
+ "name": "Claude Opus 4.6 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "meta.llama3-1-8b-instruct-v1:0": {
+ "id": "meta.llama3-1-8b-instruct-v1:0",
+ "name": "Llama 3.1 8B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.22,
+ "output": 0.22
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "writer.palmyra-x5-v1:0": {
+ "id": "writer.palmyra-x5-v1:0",
+ "name": "Palmyra X5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 6
+ },
+ "limit": {
+ "context": 1040000,
+ "output": 8192
+ }
+ },
+ "anthropic.claude-opus-4-1-20250805-v1:0": {
+ "id": "anthropic.claude-opus-4-1-20250805-v1:0",
+ "name": "Claude Opus 4.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 75,
+ "cache_read": 1.5,
+ "cache_write": 18.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 32000
+ }
+ },
+ "us.anthropic.claude-sonnet-4-6": {
+ "id": "us.anthropic.claude-sonnet-4-6",
+ "name": "Claude Sonnet 4.6 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.3,
+ "output": 16.5,
+ "cache_read": 0.33,
+ "cache_write": 4.125
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "global.anthropic.claude-opus-4-6-v1": {
+ "id": "global.anthropic.claude-opus-4-6-v1",
+ "name": "Claude Opus 4.6 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "eu.anthropic.claude-sonnet-4-5-20250929-v1:0": {
+ "id": "eu.anthropic.claude-sonnet-4-5-20250929-v1:0",
+ "name": "Claude Sonnet 4.5 (EU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.3,
+ "output": 16.5,
+ "cache_read": 0.33,
+ "cache_write": 4.125
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "jp.anthropic.claude-opus-4-7": {
+ "id": "jp.anthropic.claude-opus-4-7",
+ "name": "Claude Opus 4.7 (JP)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "au.anthropic.claude-opus-5-5": {
+ "id": "au.anthropic.claude-opus-5-5",
+ "name": "Claude Opus 5.5 (AU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4.4,
+ "output": 22,
+ "cache_read": 0.22,
+ "cache_write": 5.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "openai.gpt-6-luna": {
+ "id": "openai.gpt-6-luna",
+ "name": "GPT-6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.11,
+ "output": 0.55,
+ "cache_read": 0.011,
+ "cache_write": 0.1375,
+ "tiers": [
+ {
+ "input": 0.22,
+ "output": 0.825,
+ "cache_read": 0.022,
+ "cache_write": 0.275,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+ }
+ },
+ "writer.palmyra-x4-v1:0": {
+ "id": "writer.palmyra-x4-v1:0",
+ "name": "Palmyra X4",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10
+ },
+ "limit": {
+ "context": 122880,
+ "output": 8192
+ }
+ },
+ "global.anthropic.claude-opus-4-5-20251101-v1:0": {
+ "id": "global.anthropic.claude-opus-4-5-20251101-v1:0",
+ "name": "Claude Opus 4.5 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "anthropic.claude-opus-4-7": {
+ "id": "anthropic.claude-opus-4-7",
+ "name": "Claude Opus 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "us.anthropic.claude-sonnet-4-20250514-v1:0": {
+ "id": "us.anthropic.claude-sonnet-4-20250514-v1:0",
+ "name": "Claude Sonnet 4 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "anthropic.claude-haiku-4-5-20251001-v1:0": {
+ "id": "anthropic.claude-haiku-4-5-20251001-v1:0",
+ "name": "Claude Haiku 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 5,
+ "cache_read": 0.1,
+ "cache_write": 1.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "eu.anthropic.claude-sonnet-5": {
+ "id": "eu.anthropic.claude-sonnet-5",
+ "name": "Claude Sonnet 5 (EU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.2,
+ "output": 11,
+ "cache_read": 0.22,
+ "cache_write": 2.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "zai.glm-4.7-flash": {
+ "id": "zai.glm-4.7-flash",
+ "name": "GLM-4.7-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.07,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 202752,
+ "output": 131072
+ }
+ },
+ "moonshot.kimi-k2-thinking": {
+ "id": "moonshot.kimi-k2-thinking",
+ "name": "Kimi K2 Thinking",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.5
+ },
+ "limit": {
+ "context": 262144,
+ "output": 16000
+ }
+ },
+ "eu.amazon.nova-pro-v1:0": {
+ "id": "eu.amazon.nova-pro-v1:0",
+ "name": "Nova Pro (EU)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.92,
+ "output": 3.68,
+ "cache_read": 0.23,
+ "cache_write": 0.92
+ },
+ "limit": {
+ "context": 300000,
+ "output": 10000
+ }
+ },
+ "global.openai.gpt-5.6-terra": {
+ "id": "global.openai.gpt-5.6-terra",
+ "name": "GPT-5.6 Terra (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai.gpt-6-astra": {
+ "id": "openai.gpt-6-astra",
+ "name": "GPT-6 Astra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 11,
+ "output": 55,
+ "cache_read": 1.1,
+ "cache_write": 13.75,
+ "tiers": [
+ {
+ "input": 22,
+ "output": 82.5,
+ "cache_read": 2.2,
+ "cache_write": 27.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+ }
+ },
+ "us.anthropic.claude-haiku-4-5-20251001-v1:0": {
+ "id": "us.anthropic.claude-haiku-4-5-20251001-v1:0",
+ "name": "Claude Haiku 4.5 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 5.5,
+ "cache_read": 0.11,
+ "cache_write": 1.375
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "meta.llama4-maverick-17b-instruct-v1:0": {
+ "id": "meta.llama4-maverick-17b-instruct-v1:0",
+ "name": "Llama 4 Maverick 17B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.24,
+ "output": 0.97
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 8192
+ }
+ },
+ "qwen.qwen3-next-80b-a3b": {
+ "id": "qwen.qwen3-next-80b-a3b",
+ "name": "Qwen3-Next 80B-A3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262000
+ }
+ },
+ "eu.mistral.pixtral-large-2502-v1:0": {
+ "id": "eu.mistral.pixtral-large-2502-v1:0",
+ "name": "Pixtral Large (25.02) (EU)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "au.anthropic.claude-opus-4-8": {
+ "id": "au.anthropic.claude-opus-4-8",
+ "name": "Claude Opus 4.8 (AU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "us.anthropic.claude-fable-5-1": {
+ "id": "us.anthropic.claude-fable-5-1",
+ "name": "Claude Fable 5.1 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 11,
+ "output": 55,
+ "cache_read": 0.275,
+ "cache_write": 13.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "global.moonshotai.kimi-k3": {
+ "id": "global.moonshotai.kimi-k3",
+ "name": "Kimi K3 (Global)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": true,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 128000
+ }
+ },
+ "in.openai.gpt-5.6-terra": {
+ "id": "in.openai.gpt-5.6-terra",
+ "name": "GPT-5.6 Terra (India)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.2,
+ "output": 13.2,
+ "cache_read": 0.22,
+ "cache_write": 2.75,
+ "tiers": [
+ {
+ "input": 4.4,
+ "output": 19.8,
+ "cache_read": 0.44,
+ "cache_write": 5.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai.gpt-oss-20b": {
+ "id": "openai.gpt-oss-20b",
+ "name": "gpt-oss-20b",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.07,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/v1"
+ }
+ },
+ "mistral.ministral-3-14b-instruct": {
+ "id": "mistral.ministral-3-14b-instruct",
+ "name": "Ministral 14B 3.0",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.2
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "au.anthropic.claude-haiku-4-5-20251001-v1:0": {
+ "id": "au.anthropic.claude-haiku-4-5-20251001-v1:0",
+ "name": "Claude Haiku 4.5 (AU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 5.5,
+ "cache_read": 0.11,
+ "cache_write": 1.375
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "openai.gpt-5.6-sol": {
+ "id": "openai.gpt-5.6-sol",
+ "name": "GPT-5.6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4.4,
+ "output": 22,
+ "cache_read": 0.44,
+ "cache_write": 5.5,
+ "tiers": [
+ {
+ "input": 8.8,
+ "output": 33,
+ "cache_read": 0.88,
+ "cache_write": 11,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+ }
+ },
+ "minimax.minimax-m2.1": {
+ "id": "minimax.minimax-m2.1",
+ "name": "MiniMax-M2.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 196608,
+ "output": 131072
+ }
+ },
+ "us.anthropic.claude-opus-4-5-20251101-v1:0": {
+ "id": "us.anthropic.claude-opus-4-5-20251101-v1:0",
+ "name": "Claude Opus 4.5 (US)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "eu.anthropic.claude-opus-4-7": {
+ "id": "eu.anthropic.claude-opus-4-7",
+ "name": "Claude Opus 4.7 (EU)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "jp.amazon.nova-2-lite-v1:0": {
+ "id": "jp.amazon.nova-2-lite-v1:0",
+ "name": "Nova 2 Lite (JP)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.396,
+ "output": 3.311,
+ "cache_read": 0.099,
+ "cache_write": 0.396
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65535
+ }
+ },
+ "us.mistral.pixtral-large-2502-v1:0": {
+ "id": "us.mistral.pixtral-large-2502-v1:0",
+ "name": "Pixtral Large (25.02) (US)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "jp.anthropic.claude-opus-5": {
+ "id": "jp.anthropic.claude-opus-5",
+ "name": "Claude Opus 5 (JP)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5.5,
+ "output": 27.5,
+ "cache_read": 0.55,
+ "cache_write": 6.875
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "global.anthropic.claude-sonnet-4-20250514-v1:0": {
+ "id": "global.anthropic.claude-sonnet-4-20250514-v1:0",
+ "name": "Claude Sonnet 4 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "global.anthropic.claude-opus-4-8": {
+ "id": "global.anthropic.claude-opus-4-8",
+ "name": "Claude Opus 4.8 (Global)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "openai.gpt-5.4": {
+ "id": "openai.gpt-5.4",
+ "name": "GPT-5.4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.75,
+ "output": 16.5,
+ "cache_read": 0.275
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/amazon-bedrock/mantle",
+ "api": "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+ }
+ },
+ "mistral.voxtral-mini-3b-2507": {
+ "id": "mistral.voxtral-mini-3b-2507",
+ "name": "Voxtral Mini 3B 2507",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.04,
+ "output": 0.04
+ },
+ "limit": {
+ "context": 32768,
+ "output": 4096
+ }
+ },
+ "openai.gpt-oss-120b-1:0": {
+ "id": "openai.gpt-oss-120b-1:0",
+ "name": "gpt-oss-120b",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6
+ },
+ "limit": {
+ "context": 131072,
+ "output": 128000
+ }
+ },
+ "amazon.nova-2-lite-v1:0": {
+ "id": "amazon.nova-2-lite-v1:0",
+ "name": "Nova 2 Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.33,
+ "output": 2.75,
+ "cache_read": 0.0825,
+ "cache_write": 0.33
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65535
+ }
+ },
+ "us.amazon.nova-micro-v1:0": {
+ "id": "us.amazon.nova-micro-v1:0",
+ "name": "Nova Micro (US)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.035,
+ "output": 0.14,
+ "cache_read": 0.00875,
+ "cache_write": 0.035
+ },
+ "limit": {
+ "context": 128000,
+ "output": 10000
+ }
+ },
+ "mistral.ministral-3-8b-instruct": {
+ "id": "mistral.ministral-3-8b-instruct",
+ "name": "Ministral 3 8B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.15
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ }
+ }
+ },
+ "anthropic": {
+ "id": "anthropic",
+ "name": "Anthropic",
+ "env": ["ANTHROPIC_API_KEY"],
+ "npm": "@ai-sdk/anthropic",
+ "models": {
+ "claude-haiku-4-5": {
+ "id": "claude-haiku-4-5",
+ "name": "Claude Haiku 4.5 (latest)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 5,
+ "cache_read": 0.1,
+ "cache_write": 1.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "claude-opus-4-5": {
+ "id": "claude-opus-4-5",
+ "name": "Claude Opus 4.5 (latest)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "claude-sonnet-4-5": {
+ "id": "claude-sonnet-4-5",
+ "name": "Claude Sonnet 4.5 (latest)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "claude-opus-5-5": {
+ "id": "claude-opus-5-5",
+ "name": "Claude Opus 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.2,
+ "cache_write": 5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "claude-fable-5-1": {
+ "id": "claude-fable-5-1",
+ "name": "Claude Fable 5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 0.25,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "claude-opus-4-5-20251101": {
+ "id": "claude-opus-4-5-20251101",
+ "name": "Claude Opus 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "claude-opus-5": {
+ "id": "claude-opus-5",
+ "name": "Claude Opus 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "claude-fable-5": {
+ "id": "claude-fable-5",
+ "name": "Claude Fable 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "claude-opus-4-8": {
+ "id": "claude-opus-4-8",
+ "name": "Claude Opus 4.8",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "claude-sonnet-4-5-20250929": {
+ "id": "claude-sonnet-4-5-20250929",
+ "name": "Claude Sonnet 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "claude-sonnet-5": {
+ "id": "claude-sonnet-5",
+ "name": "Claude Sonnet 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "claude-opus-4-6": {
+ "id": "claude-opus-4-6",
+ "name": "Claude Opus 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "claude-haiku-4-5-20251001": {
+ "id": "claude-haiku-4-5-20251001",
+ "name": "Claude Haiku 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 5,
+ "cache_read": 0.1,
+ "cache_write": 1.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "claude-sonnet-4-6": {
+ "id": "claude-sonnet-4-6",
+ "name": "Claude Sonnet 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "claude-sonnet-5-5": {
+ "id": "claude-sonnet-5-5",
+ "name": "Claude Sonnet 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "claude-opus-4-7": {
+ "id": "claude-opus-4-7",
+ "name": "Claude Opus 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ }
+ }
+ },
+ "azure": {
+ "id": "azure",
+ "name": "Azure",
+ "env": ["AZURE_RESOURCE_NAME", "AZURE_API_KEY"],
+ "npm": "@ai-sdk/azure",
+ "models": {
+ "grok-4-1-fast-reasoning": {
+ "id": "grok-4-1-fast-reasoning",
+ "name": "Grok 4.1 Fast (Reasoning)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.5,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "gpt-5.4": {
+ "id": "gpt-5.4",
+ "name": "GPT-5.4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 15,
+ "cache_read": 0.25,
+ "tiers": [
+ {
+ "input": 5,
+ "output": 22.5,
+ "cache_read": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "deepseek-v3.2-speciale": {
+ "id": "deepseek-v3.2-speciale",
+ "name": "DeepSeek-V3.2-Speciale",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.58,
+ "output": 1.68
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "claude-haiku-4-5": {
+ "id": "claude-haiku-4-5",
+ "name": "Claude Haiku 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 5,
+ "cache_read": 0.1,
+ "cache_write": 1.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "gpt-5.4-pro": {
+ "id": "gpt-5.4-pro",
+ "name": "GPT-5.4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 30,
+ "output": 180,
+ "tiers": [
+ {
+ "input": 60,
+ "output": 270,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "grok-4-1-fast-non-reasoning": {
+ "id": "grok-4-1-fast-non-reasoning",
+ "name": "Grok 4.1 Fast (Non-Reasoning)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.5,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "phi-4-reasoning": {
+ "id": "phi-4-reasoning",
+ "name": "Phi-4-reasoning",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.125,
+ "output": 0.5
+ },
+ "limit": {
+ "context": 32000,
+ "output": 4096
+ }
+ },
+ "text-embedding-3-small": {
+ "id": "text-embedding-3-small",
+ "name": "text-embedding-3-small",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.02,
+ "output": 0
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "gpt-5.4-nano": {
+ "id": "gpt-5.4-nano",
+ "name": "GPT-5.4 Nano",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.25,
+ "cache_read": 0.02
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-5.2-codex": {
+ "id": "gpt-5.2-codex",
+ "name": "GPT-5.2 Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-5.1-codex": {
+ "id": "gpt-5.1-codex",
+ "name": "GPT-5.1 Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "audio"],
+ "output": ["text", "image", "audio"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-4o": {
+ "id": "gpt-4o",
+ "name": "GPT-4o",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "ministral-3b": {
+ "id": "ministral-3b",
+ "name": "Ministral 3B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.04,
+ "output": 0.04
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "gpt-chat-latest": {
+ "id": "gpt-chat-latest",
+ "name": "GPT Chat Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-5-codex": {
+ "id": "gpt-5-codex",
+ "name": "GPT-5-Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.13
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-5-mini": {
+ "id": "gpt-5-mini",
+ "name": "GPT-5 Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-image-2": {
+ "id": "gpt-image-2",
+ "name": "GPT-Image-2",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "o4-mini": {
+ "id": "o4-mini",
+ "name": "o4-mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 4.4,
+ "cache_read": 0.275
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "llama-4-maverick-17b-128e-instruct-fp8": {
+ "id": "llama-4-maverick-17b-128e-instruct-fp8",
+ "name": "Llama 4 Maverick 17B 128E Instruct FP8",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 16384
+ }
+ },
+ "o3-mini": {
+ "id": "o3-mini",
+ "name": "o3-mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 4.4,
+ "cache_read": 0.55
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "claude-opus-4-5": {
+ "id": "claude-opus-4-5",
+ "name": "Claude Opus 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "text-embedding-ada-002": {
+ "id": "text-embedding-ada-002",
+ "name": "text-embedding-ada-002",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "gpt-5.3-codex": {
+ "id": "gpt-5.3-codex",
+ "name": "GPT-5.3 Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-4.1-nano": {
+ "id": "gpt-4.1-nano",
+ "name": "GPT-4.1 nano",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "gpt-5-nano": {
+ "id": "gpt-5-nano",
+ "name": "GPT-5 Nano",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.4,
+ "cache_read": 0.01
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "phi-4-multimodal": {
+ "id": "phi-4-multimodal",
+ "name": "Phi-4-multimodal",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.08,
+ "output": 0.32
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "kimi-k2.6": {
+ "id": "kimi-k2.6",
+ "name": "Kimi K2.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/models"
+ }
+ },
+ "claude-sonnet-4-5": {
+ "id": "claude-sonnet-4-5",
+ "name": "Claude Sonnet 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "claude-opus-5-5": {
+ "id": "claude-opus-5-5",
+ "name": "Claude Opus 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.2,
+ "cache_write": 5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "gpt-image-2.5-flare": {
+ "id": "gpt-image-2.5-flare",
+ "name": "GPT Image 2.5 Flare",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "claude-fable-5-1": {
+ "id": "claude-fable-5-1",
+ "name": "Claude Fable 5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 0.25,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "mistral-medium-2505": {
+ "id": "mistral-medium-2505",
+ "name": "Mistral Medium 3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "cohere-embed-v3-multilingual": {
+ "id": "cohere-embed-v3-multilingual",
+ "name": "Embed v3 Multilingual",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0
+ },
+ "limit": {
+ "context": 512,
+ "output": 1024
+ }
+ },
+ "o1": {
+ "id": "o1",
+ "name": "o1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 60,
+ "cache_read": 7.5
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "codex-mini": {
+ "id": "codex-mini",
+ "name": "Codex Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 6,
+ "cache_read": 0.375
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "phi-4-reasoning-plus": {
+ "id": "phi-4-reasoning-plus",
+ "name": "Phi-4-reasoning-plus",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.125,
+ "output": 0.5
+ },
+ "limit": {
+ "context": 32000,
+ "output": 4096
+ }
+ },
+ "claude-mythos-5": {
+ "id": "claude-mythos-5",
+ "name": "Claude Mythos 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "gpt-5-pro": {
+ "id": "gpt-5-pro",
+ "name": "GPT-5 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 120
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-3.5-turbo-instruct": {
+ "id": "gpt-3.5-turbo-instruct",
+ "name": "GPT-3.5 Turbo Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 2
+ },
+ "limit": {
+ "context": 4096,
+ "output": 4096
+ }
+ },
+ "gpt-3.5-turbo-0125": {
+ "id": "gpt-3.5-turbo-0125",
+ "name": "GPT-3.5 Turbo 0125",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.5
+ },
+ "limit": {
+ "context": 16384,
+ "output": 4096
+ }
+ },
+ "gpt-6.1-sol": {
+ "id": "gpt-6.1-sol",
+ "name": "GPT-6.1 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.1,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.2,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "text-embedding-3-large": {
+ "id": "text-embedding-3-large",
+ "name": "text-embedding-3-large",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.13,
+ "output": 0
+ },
+ "limit": {
+ "context": 8192,
+ "output": 3072
+ }
+ },
+ "claude-opus-4-1": {
+ "id": "claude-opus-4-1",
+ "name": "Claude Opus 4.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 75,
+ "cache_read": 1.5,
+ "cache_write": 18.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 32000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "cohere-embed-v-4-0": {
+ "id": "cohere-embed-v-4-0",
+ "name": "Embed v4",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.12,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 1536
+ }
+ },
+ "gpt-6-astra": {
+ "id": "gpt-6-astra",
+ "name": "GPT-6 Astra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tiers": [
+ {
+ "input": 20,
+ "output": 75,
+ "cache_read": 2,
+ "cache_write": 25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "codestral-2501": {
+ "id": "codestral-2501",
+ "name": "Codestral 25.01",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 0.9
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ }
+ },
+ "kimi-k2.5": {
+ "id": "kimi-k2.5",
+ "name": "Kimi K2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/models"
+ }
+ },
+ "gpt-5.1": {
+ "id": "gpt-5.1",
+ "name": "GPT-5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "audio"],
+ "output": ["text", "image", "audio"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "claude-opus-5": {
+ "id": "claude-opus-5",
+ "name": "Claude Opus 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "llama-3.3-70b-instruct": {
+ "id": "llama-3.3-70b-instruct",
+ "name": "Llama-3.3-70B-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.71,
+ "output": 0.71
+ },
+ "limit": {
+ "context": 128000,
+ "output": 32768
+ }
+ },
+ "gpt-4o-mini": {
+ "id": "gpt-4o-mini",
+ "name": "GPT-4o mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "cohere-command-a": {
+ "id": "cohere-command-a",
+ "name": "Command A",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "cohere-embed-v3-english": {
+ "id": "cohere-embed-v3-english",
+ "name": "Embed v3 English",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0
+ },
+ "limit": {
+ "context": 512,
+ "output": 1024
+ }
+ },
+ "model-router": {
+ "id": "model-router",
+ "name": "Model Router",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 16384
+ }
+ },
+ "gpt-image-2.5-sunburst": {
+ "id": "gpt-image-2.5-sunburst",
+ "name": "GPT Image 2.5 Sunburst",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "claude-fable-5": {
+ "id": "claude-fable-5",
+ "name": "Claude Fable 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "gpt-image-1": {
+ "id": "gpt-image-1",
+ "name": "GPT-Image-1",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 40,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "gpt-5.4-mini": {
+ "id": "gpt-5.4-mini",
+ "name": "GPT-5.4 Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 4.5,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-5.6-luna": {
+ "id": "gpt-5.6-luna",
+ "name": "GPT-5.6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.2,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tiers": [
+ {
+ "input": 0.4,
+ "output": 1.8,
+ "cache_read": 0.04,
+ "cache_write": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "gpt-5.1-codex-max": {
+ "id": "gpt-5.1-codex-max",
+ "name": "GPT-5.1 Codex Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-5.2": {
+ "id": "gpt-5.2",
+ "name": "GPT-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "claude-opus-4-8": {
+ "id": "claude-opus-4-8",
+ "name": "Claude Opus 4.8",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 37.5,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "phi-4": {
+ "id": "phi-4",
+ "name": "Phi-4",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.125,
+ "output": 0.5
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "gpt-5.5": {
+ "id": "gpt-5.5",
+ "name": "GPT-5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 45,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "mistral-small-2503": {
+ "id": "mistral-small-2503",
+ "name": "Mistral Small 3.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 128000,
+ "output": 32768
+ }
+ },
+ "phi-4-mini-reasoning": {
+ "id": "phi-4-mini-reasoning",
+ "name": "Phi-4-mini-reasoning",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.075,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "gpt-4.1": {
+ "id": "gpt-4.1",
+ "name": "GPT-4.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "claude-sonnet-5": {
+ "id": "claude-sonnet-5",
+ "name": "Claude Sonnet 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "claude-opus-4-6": {
+ "id": "claude-opus-4-6",
+ "name": "Claude Opus 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 37.5,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "gpt-4-turbo-vision": {
+ "id": "gpt-4-turbo-vision",
+ "name": "GPT-4 Turbo Vision",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 30
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "grok-4-20-non-reasoning": {
+ "id": "grok-4-20-non-reasoning",
+ "name": "Grok 4.20 (Non-Reasoning)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6
+ },
+ "limit": {
+ "context": 262000,
+ "output": 8192
+ }
+ },
+ "gpt-3.5-turbo-1106": {
+ "id": "gpt-3.5-turbo-1106",
+ "name": "GPT-3.5 Turbo 1106",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 2
+ },
+ "limit": {
+ "context": 16384,
+ "output": 4096
+ }
+ },
+ "gpt-4.1-mini": {
+ "id": "gpt-4.1-mini",
+ "name": "GPT-4.1 mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 1.6,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "gpt-6-luna": {
+ "id": "gpt-6-luna",
+ "name": "GPT-6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.5,
+ "cache_read": 0.01,
+ "cache_write": 0.125,
+ "tiers": [
+ {
+ "input": 0.2,
+ "output": 0.75,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "deepseek-r1": {
+ "id": "deepseek-r1",
+ "name": "DeepSeek-R1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.35,
+ "output": 5.4
+ },
+ "limit": {
+ "context": 163840,
+ "output": 163840
+ }
+ },
+ "deepseek-v4-pro": {
+ "id": "deepseek-v4-pro",
+ "name": "DeepSeek-V4-Pro",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.74,
+ "output": 3.48
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/models"
+ }
+ },
+ "claude-sonnet-4-6": {
+ "id": "claude-sonnet-4-6",
+ "name": "Claude Sonnet 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "llama-4-scout-17b-16e-instruct": {
+ "id": "llama-4-scout-17b-16e-instruct",
+ "name": "Llama 4 Scout 17B 16E Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.78
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "claude-sonnet-5-5": {
+ "id": "claude-sonnet-5-5",
+ "name": "Claude Sonnet 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "gpt-image-1.5": {
+ "id": "gpt-image-1.5",
+ "name": "GPT-Image-1.5",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 32,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "grok-4-20-reasoning": {
+ "id": "grok-4-20-reasoning",
+ "name": "Grok 4.20 (Reasoning)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6
+ },
+ "limit": {
+ "context": 262000,
+ "output": 8192
+ }
+ },
+ "gpt-5.6-terra": {
+ "id": "gpt-5.6-terra",
+ "name": "GPT-5.6 Terra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "deepseek-v3.2": {
+ "id": "deepseek-v3.2",
+ "name": "DeepSeek-V3.2",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.58,
+ "output": 1.68
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "gpt-4-turbo": {
+ "id": "gpt-4-turbo",
+ "name": "GPT-4 Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 30
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "gpt-5.1-codex-mini": {
+ "id": "gpt-5.1-codex-mini",
+ "name": "GPT-5.1 Codex Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "o3": {
+ "id": "o3",
+ "name": "o3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "claude-opus-4-7": {
+ "id": "claude-opus-4-7",
+ "name": "Claude Opus 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
+ }
+ },
+ "kimi-k2.7-code": {
+ "id": "kimi-k2.7-code",
+ "name": "Kimi K2.7 Code",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.19
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/models"
+ }
+ },
+ "gpt-5": {
+ "id": "gpt-5",
+ "name": "GPT-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.13
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "grok-4.6": {
+ "id": "grok-4.6",
+ "name": "Grok 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 200000,
+ "output": 128000
+ }
+ },
+ "gpt-5.6-sol": {
+ "id": "gpt-5.6-sol",
+ "name": "GPT-5.6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.5,
+ "cache_write": 6.25,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 45,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "phi-4-mini": {
+ "id": "phi-4-mini",
+ "name": "Phi-4-mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.075,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "deepseek-v4-flash": {
+ "id": "deepseek-v4-flash",
+ "name": "DeepSeek-V4-Flash",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.19,
+ "output": 0.51
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/models"
+ }
+ },
+ "gpt-6-sol": {
+ "id": "gpt-6-sol",
+ "name": "GPT-6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ }
+ }
+ },
+ "baseten": {
+ "id": "baseten",
+ "name": "Baseten",
+ "env": ["BASETEN_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://inference.baseten.co/v1",
+ "models": {
+ "thinkingmachines/inkling-small": {
+ "id": "thinkingmachines/inkling-small",
+ "name": "Inkling Small",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.2,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 32768
+ }
+ },
+ "thinkingmachines/inkling": {
+ "id": "thinkingmachines/inkling",
+ "name": "Inkling",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 4.05
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 32768
+ }
+ },
+ "deepseek-ai/DeepSeek-V3.1": {
+ "id": "deepseek-ai/DeepSeek-V3.1",
+ "name": "DeepSeek V3.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.5
+ },
+ "limit": {
+ "context": 164000,
+ "output": 131000
+ }
+ },
+ "deepseek-ai/DeepSeek-V4-Flash-0731": {
+ "id": "deepseek-ai/DeepSeek-V4-Flash-0731",
+ "name": "DeepSeek V4 Flash 0731",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.13,
+ "output": 0.26,
+ "cache_read": 0.028
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/DeepSeek-V4-Pro-0813": {
+ "id": "deepseek-ai/DeepSeek-V4-Pro-0813",
+ "name": "DeepSeek V4 Pro 0813",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.32,
+ "output": 3.96
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 262144
+ }
+ },
+ "deepseek-ai/DeepSeek-V4.1-Flash": {
+ "id": "deepseek-ai/DeepSeek-V4.1-Flash",
+ "name": "DeepSeek V4.1 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 32768
+ }
+ },
+ "deepseek-ai/DeepSeek-V4.1-Flash-Fast": {
+ "id": "deepseek-ai/DeepSeek-V4.1-Flash-Fast",
+ "name": "deepseek-ai/DeepSeek-V4.1-Flash-Fast",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.4
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 32768
+ }
+ },
+ "deepseek-ai/DeepSeek-V4-Pro": {
+ "id": "deepseek-ai/DeepSeek-V4-Pro",
+ "name": "DeepSeek V4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.74,
+ "output": 3.48,
+ "cache_read": 0.145
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 262144
+ }
+ },
+ "MiniMaxAI/MiniMax-M2.5": {
+ "id": "MiniMaxAI/MiniMax-M2.5",
+ "name": "MiniMax-M2.5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 204000,
+ "output": 204000
+ }
+ },
+ "moonshotai/Kimi-K2.6": {
+ "id": "moonshotai/Kimi-K2.6",
+ "name": "Kimi K2.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.16
+ },
+ "limit": {
+ "context": 262000,
+ "output": 262000
+ }
+ },
+ "moonshotai/Kimi-K3": {
+ "id": "moonshotai/Kimi-K3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 262144
+ }
+ },
+ "moonshotai/Kimi-K2.7-Code": {
+ "id": "moonshotai/Kimi-K2.7-Code",
+ "name": "Kimi K2.7 Code",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.16
+ },
+ "limit": {
+ "context": 262000,
+ "output": 262000
+ }
+ },
+ "moonshotai/Kimi-K2.5": {
+ "id": "moonshotai/Kimi-K2.5",
+ "name": "Kimi K2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3,
+ "cache_read": 0.12
+ },
+ "limit": {
+ "context": 262000,
+ "output": 262000
+ }
+ },
+ "zai-org/GLM-5.1": {
+ "id": "zai-org/GLM-5.1",
+ "name": "GLM 5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.3,
+ "output": 4.3,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 202800,
+ "output": 202800
+ }
+ },
+ "zai-org/GLM-5.2": {
+ "id": "zai-org/GLM-5.2",
+ "name": "GLM 5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 262144
+ }
+ },
+ "zai-org/GLM-4.7": {
+ "id": "zai-org/GLM-4.7",
+ "name": "GLM 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2,
+ "cache_read": 0.12
+ },
+ "limit": {
+ "context": 200000,
+ "output": 200000
+ }
+ },
+ "zai-org/GLM-5.2-Fast": {
+ "id": "zai-org/GLM-5.2-Fast",
+ "name": "GLM 5.2 Fast",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.1,
+ "output": 6.6,
+ "cache_read": 0.21
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 262144
+ }
+ },
+ "zai-org/GLM-5.3-Fast": {
+ "id": "zai-org/GLM-5.3-Fast",
+ "name": "GLM 5.3 Fast",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.1,
+ "output": 6.6
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 262144
+ }
+ },
+ "zai-org/GLM-5": {
+ "id": "zai-org/GLM-5",
+ "name": "GLM 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 3.15,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 202800,
+ "output": 202800
+ }
+ },
+ "zai-org/GLM-5.3-Flash": {
+ "id": "zai-org/GLM-5.3-Flash",
+ "name": "GLM 5.3 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.5
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "zai-org/GLM-5.3": {
+ "id": "zai-org/GLM-5.3",
+ "name": "GLM 5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.14
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 262144
+ }
+ },
+ "nvidia/Nemotron-120B-A12B": {
+ "id": "nvidia/Nemotron-120B-A12B",
+ "name": "Nemotron Super",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 0.75,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 202800,
+ "output": 202800
+ }
+ },
+ "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B": {
+ "id": "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B",
+ "name": "Nemotron Ultra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.12
+ },
+ "limit": {
+ "context": 202800,
+ "output": 202800
+ }
+ },
+ "openai/gpt-oss-120b": {
+ "id": "openai/gpt-oss-120b",
+ "name": "OpenAI GPT 120B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.5
+ },
+ "limit": {
+ "context": 128072,
+ "output": 128072
+ }
+ }
+ }
+ },
+ "cerebras": {
+ "id": "cerebras",
+ "name": "Cerebras",
+ "env": ["CEREBRAS_API_KEY"],
+ "npm": "@ai-sdk/cerebras",
+ "models": {
+ "qwen-3.8-27b": {
+ "id": "qwen-3.8-27b",
+ "name": "Qwen3.8 27B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.99,
+ "output": 1.49,
+ "cache_read": 0.99
+ },
+ "limit": {
+ "context": 131072,
+ "output": 40960
+ }
+ },
+ "gpt-oss-120b": {
+ "id": "gpt-oss-120b",
+ "name": "GPT OSS 120B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.35,
+ "output": 0.75
+ },
+ "limit": {
+ "context": 131072,
+ "output": 40960
+ }
+ }
+ }
+ },
+ "cloudflare-ai-gateway": {
+ "id": "cloudflare-ai-gateway",
+ "name": "Cloudflare AI Gateway",
+ "env": [
+ "CLOUDFLARE_API_TOKEN",
+ "CLOUDFLARE_ACCOUNT_ID",
+ "CLOUDFLARE_GATEWAY_ID"
+ ],
+ "npm": "ai-gateway-provider",
+ "models": {
+ "anthropic/claude-opus-4.5": {
+ "id": "anthropic/claude-opus-4.5",
+ "name": "Claude Opus 4.5 (latest)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "anthropic/claude-opus-4.6": {
+ "id": "anthropic/claude-opus-4.6",
+ "name": "Claude Opus 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "anthropic/claude-opus-4.7": {
+ "id": "anthropic/claude-opus-4.7",
+ "name": "Claude Opus 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "anthropic/claude-opus-4.8": {
+ "id": "anthropic/claude-opus-4.8",
+ "name": "Claude Opus 4.8",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "anthropic/claude-haiku-4.5": {
+ "id": "anthropic/claude-haiku-4.5",
+ "name": "Claude Haiku 4.5 (latest)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 5,
+ "cache_read": 0.1,
+ "cache_write": 1.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "anthropic/claude-opus-5": {
+ "id": "anthropic/claude-opus-5",
+ "name": "Claude Opus 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "anthropic/claude-fable-5.1": {
+ "id": "anthropic/claude-fable-5.1",
+ "name": "Claude Fable 5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 0.25,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "anthropic/claude-sonnet-4.5": {
+ "id": "anthropic/claude-sonnet-4.5",
+ "name": "Claude Sonnet 4.5 (latest)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "anthropic/claude-fable-5": {
+ "id": "anthropic/claude-fable-5",
+ "name": "Claude Fable 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "anthropic/claude-sonnet-5": {
+ "id": "anthropic/claude-sonnet-5",
+ "name": "Claude Sonnet 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "anthropic/claude-sonnet-4.6": {
+ "id": "anthropic/claude-sonnet-4.6",
+ "name": "Claude Sonnet 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "anthropic/claude-opus-5.5": {
+ "id": "anthropic/claude-opus-5.5",
+ "name": "Claude Opus 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.2,
+ "cache_write": 5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "deepseek/deepseek-v4-pro": {
+ "id": "deepseek/deepseek-v4-pro",
+ "name": "DeepSeek V4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.74,
+ "output": 3.48,
+ "cache_read": 0.145
+ },
+ "limit": {
+ "context": 131072,
+ "output": 384000
+ }
+ },
+ "unbiased/pareto": {
+ "id": "unbiased/pareto",
+ "name": "Pareto",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 7.5,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "alibaba/qwen3.7-max": {
+ "id": "alibaba/qwen3.7-max",
+ "name": "Qwen3.7 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 3.75,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "alibaba/qwen3.8-max": {
+ "id": "alibaba/qwen3.8-max",
+ "name": "Qwen3.8 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 0,
+ "max": 262144
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "alibaba/qwen3-max": {
+ "id": "alibaba/qwen3-max",
+ "name": "Qwen3 Max",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.2,
+ "output": 6
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "alibaba/qwen3.5-397b-a17b": {
+ "id": "alibaba/qwen3.5-397b-a17b",
+ "name": "Qwen3.5 397B-A17B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3.6
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "alibaba/qwen3.7-plus": {
+ "id": "alibaba/qwen3.7-plus",
+ "name": "Qwen3.7 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.32,
+ "output": 1.28,
+ "cache_read": 0.064
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "xai/grok-4.7": {
+ "id": "xai/grok-4.7",
+ "name": "Grok 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ }
+ },
+ "xai/grok-4.3": {
+ "id": "xai/grok-4.3",
+ "name": "Grok 4.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 30000
+ }
+ },
+ "xai/grok-4.20-0309-reasoning": {
+ "id": "xai/grok-4.20-0309-reasoning",
+ "name": "Grok 4.20 (Reasoning)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 30000
+ }
+ },
+ "xai/grok-4.5": {
+ "id": "xai/grok-4.5",
+ "name": "Grok 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.3,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 0.6,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ }
+ },
+ "xai/grok-4.20-0309-non-reasoning": {
+ "id": "xai/grok-4.20-0309-non-reasoning",
+ "name": "Grok 4.20 (Non-Reasoning)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 30000
+ }
+ },
+ "xai/grok-4.6": {
+ "id": "xai/grok-4.6",
+ "name": "Grok 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ }
+ },
+ "moonshotai/kimi-k3": {
+ "id": "moonshotai/kimi-k3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "openai/gpt-5.4": {
+ "id": "openai/gpt-5.4",
+ "name": "GPT-5.4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 15,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-5.4-pro": {
+ "id": "openai/gpt-5.4-pro",
+ "name": "GPT-5.4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 30,
+ "output": 180
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-5.5-pro": {
+ "id": "openai/gpt-5.5-pro",
+ "name": "GPT-5.5 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 30,
+ "output": 180
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-5.4-nano": {
+ "id": "openai/gpt-5.4-nano",
+ "name": "GPT-5.4 nano",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.25,
+ "cache_read": 0.02
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-4o": {
+ "id": "openai/gpt-4o",
+ "name": "GPT-4o",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 5,
+ "cache_read": 0.625
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-5-mini": {
+ "id": "openai/gpt-5-mini",
+ "name": "GPT-5 Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/o4-mini": {
+ "id": "openai/o4-mini",
+ "name": "o4-mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 4.4,
+ "cache_read": 0.275
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/o3-mini": {
+ "id": "openai/o3-mini",
+ "name": "o3-mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 4.4,
+ "cache_read": 0.55
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-4.1-nano": {
+ "id": "openai/gpt-4.1-nano",
+ "name": "GPT-4.1 nano",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 32768
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-5-nano": {
+ "id": "openai/gpt-5-nano",
+ "name": "GPT-5 Nano",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.4,
+ "cache_read": 0.005
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-6-astra": {
+ "id": "openai/gpt-6-astra",
+ "name": "GPT-6 Astra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12,
+ "tiers": [
+ {
+ "input": 20,
+ "output": 75,
+ "cache_read": 2,
+ "cache_write": 25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-5.1": {
+ "id": "openai/gpt-5.1",
+ "name": "GPT-5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-4o-mini": {
+ "id": "openai/gpt-4o-mini",
+ "name": "GPT-4o mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.075,
+ "output": 0.3,
+ "cache_read": 0.0375
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-5.4-mini": {
+ "id": "openai/gpt-5.4-mini",
+ "name": "GPT-5.4 mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 4.5,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-5.6-luna": {
+ "id": "openai/gpt-5.6-luna",
+ "name": "GPT-5.6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.2,
+ "cache_read": 0.02,
+ "cache_write": 0.25
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-5.5": {
+ "id": "openai/gpt-5.5",
+ "name": "GPT-5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-4.1": {
+ "id": "openai/gpt-4.1",
+ "name": "GPT-4.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-4.1-mini": {
+ "id": "openai/gpt-4.1-mini",
+ "name": "GPT-4.1 mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 1.6,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-6-luna": {
+ "id": "openai/gpt-6-luna",
+ "name": "GPT-6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.5,
+ "cache_read": 0.01,
+ "cache_write": 0.125,
+ "tiers": [
+ {
+ "input": 0.2,
+ "output": 0.75,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-5.6-terra": {
+ "id": "openai/gpt-5.6-terra",
+ "name": "GPT-5.6 Terra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/o3": {
+ "id": "openai/o3",
+ "name": "o3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-5": {
+ "id": "openai/gpt-5",
+ "name": "GPT-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-5.6-sol": {
+ "id": "openai/gpt-5.6-sol",
+ "name": "GPT-5.6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.25,
+ "cache_write": 3.125
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "openai/gpt-6-sol": {
+ "id": "openai/gpt-6-sol",
+ "name": "GPT-6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ }
+ }
+ },
+ "cloudflare-workers-ai": {
+ "id": "cloudflare-workers-ai",
+ "name": "Cloudflare Workers AI",
+ "env": ["CLOUDFLARE_ACCOUNT_ID", "CLOUDFLARE_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.cloudflare.com/client/v4/accounts/${CLOUDFLARE_ACCOUNT_ID}/ai/v1",
+ "models": {
+ "@cf/meta/llama-3.3-70b-instruct-fp8-fast": {
+ "id": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
+ "name": "Llama 3.3 70B Instruct fp8 Fast",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.293,
+ "output": 2.253
+ },
+ "limit": {
+ "context": 24000,
+ "output": 24000
+ }
+ },
+ "@cf/meta/llama-guard-3-8b": {
+ "id": "@cf/meta/llama-guard-3-8b",
+ "name": "Llama Guard 3 8B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.484,
+ "output": 0.03
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "@cf/meta/llama-3.1-8b-instruct-fp8": {
+ "id": "@cf/meta/llama-3.1-8b-instruct-fp8",
+ "name": "Llama 3.1 8B Instruct fp8",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.152,
+ "output": 0.287
+ },
+ "limit": {
+ "context": 32000,
+ "output": 32000
+ }
+ },
+ "@cf/meta/llama-3.2-11b-vision-instruct": {
+ "id": "@cf/meta/llama-3.2-11b-vision-instruct",
+ "name": "Llama 3.2 11B Vision Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.0485,
+ "output": 0.676
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "@cf/meta/llama-3.2-1b-instruct": {
+ "id": "@cf/meta/llama-3.2-1b-instruct",
+ "name": "Llama 3.2 1B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.027,
+ "output": 0.201
+ },
+ "limit": {
+ "context": 60000,
+ "output": 60000
+ }
+ },
+ "@cf/meta/llama-4-scout-17b-16e-instruct": {
+ "id": "@cf/meta/llama-4-scout-17b-16e-instruct",
+ "name": "Llama 4 Scout 17B 16E Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.27,
+ "output": 0.85
+ },
+ "limit": {
+ "context": 131000,
+ "output": 16384
+ }
+ },
+ "@cf/meta/llama-3.2-3b-instruct": {
+ "id": "@cf/meta/llama-3.2-3b-instruct",
+ "name": "Llama 3.2 3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.0509,
+ "output": 0.335
+ },
+ "limit": {
+ "context": 80000,
+ "output": 80000
+ }
+ },
+ "@cf/google/gemma-4-26b-a4b-it": {
+ "id": "@cf/google/gemma-4-26b-a4b-it",
+ "name": "Gemma 4 26B A4B IT",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 256000,
+ "output": 16384
+ }
+ },
+ "@cf/aisingapore/gemma-sea-lion-v4-27b-it": {
+ "id": "@cf/aisingapore/gemma-sea-lion-v4-27b-it",
+ "name": "Gemma Sea Lion V4 27B It",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.351,
+ "output": 0.555
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "@cf/ibm-granite/granite-4.0-h-micro": {
+ "id": "@cf/ibm-granite/granite-4.0-h-micro",
+ "name": "Granite 4.0 H Micro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.017,
+ "output": 0.112
+ },
+ "limit": {
+ "context": 131000,
+ "output": 131000
+ }
+ },
+ "@cf/deepseek-ai/deepseek-v4-flash-0731": {
+ "id": "@cf/deepseek-ai/deepseek-v4-flash-0731",
+ "name": "DeepSeek V4 Flash 0731",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.44,
+ "output": 1.32,
+ "cache_read": 0.014
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "@cf/deepseek-ai/deepseek-v4-pro-0813": {
+ "id": "@cf/deepseek-ai/deepseek-v4-pro-0813",
+ "name": "DeepSeek V4 Pro 0813",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.32,
+ "output": 3.96,
+ "cache_read": 0.044
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b": {
+ "id": "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",
+ "name": "Deepseek R1 Distill Qwen 32B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.497,
+ "output": 4.881
+ },
+ "limit": {
+ "context": 80000,
+ "output": 80000
+ }
+ },
+ "@cf/mistralai/mistral-small-3.1-24b-instruct": {
+ "id": "@cf/mistralai/mistral-small-3.1-24b-instruct",
+ "name": "Mistral Small 3.1 24B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.351,
+ "output": 0.555
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "@cf/moonshotai/kimi-k2.6": {
+ "id": "@cf/moonshotai/kimi-k2.6",
+ "name": "Kimi K2.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.16
+ },
+ "limit": {
+ "context": 262144,
+ "output": 256000
+ }
+ },
+ "@cf/moonshotai/kimi-k2.7-code": {
+ "id": "@cf/moonshotai/kimi-k2.7-code",
+ "name": "Kimi K2.7 Code",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.19
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "@cf/zai-org/glm-5.3-flash": {
+ "id": "@cf/zai-org/glm-5.3-flash",
+ "name": "Glm 5.3 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "@cf/zai-org/glm-4.7-flash": {
+ "id": "@cf/zai-org/glm-4.7-flash",
+ "name": "GLM-4.7-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.0605,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "@cf/zai-org/glm-5.2": {
+ "id": "@cf/zai-org/glm-5.2",
+ "name": "Glm 5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 262144,
+ "output": 256000
+ }
+ },
+ "@cf/zai-org/glm-5.3": {
+ "id": "@cf/zai-org/glm-5.3",
+ "name": "Glm 5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "@cf/nvidia/nemotron-3-120b-a12b": {
+ "id": "@cf/nvidia/nemotron-3-120b-a12b",
+ "name": "Nemotron 3 Super 120B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.5
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ }
+ },
+ "@cf/qwen/qwen3.8-27b": {
+ "id": "@cf/qwen/qwen3.8-27b",
+ "name": "Qwen3.8 27B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.45,
+ "output": 3.2,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "@cf/qwen/qwq-32b": {
+ "id": "@cf/qwen/qwq-32b",
+ "name": "Qwq 32B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.66,
+ "output": 1
+ },
+ "limit": {
+ "context": 24000,
+ "output": 24000
+ }
+ },
+ "@cf/qwen/qwen3-30b-a3b-fp8": {
+ "id": "@cf/qwen/qwen3-30b-a3b-fp8",
+ "name": "Qwen3 30B A3b fp8",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.0509,
+ "output": 0.335
+ },
+ "limit": {
+ "context": 32768,
+ "output": 32768
+ }
+ },
+ "@cf/qwen/qwen2.5-coder-32b-instruct": {
+ "id": "@cf/qwen/qwen2.5-coder-32b-instruct",
+ "name": "Qwen2.5 Coder 32B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.66,
+ "output": 1
+ },
+ "limit": {
+ "context": 32768,
+ "output": 32768
+ }
+ },
+ "@cf/openai/gpt-oss-20b": {
+ "id": "@cf/openai/gpt-oss-20b",
+ "name": "GPT OSS 20B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "@cf/openai/gpt-oss-120b": {
+ "id": "@cf/openai/gpt-oss-120b",
+ "name": "GPT OSS 120B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.35,
+ "output": 0.75
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ }
+ }
+ },
+ "deepinfra": {
+ "id": "deepinfra",
+ "name": "Deep Infra",
+ "env": ["DEEPINFRA_API_KEY"],
+ "npm": "@ai-sdk/deepinfra",
+ "models": {
+ "deepseek-ai/DeepSeek-V4-Flash-0731": {
+ "id": "deepseek-ai/DeepSeek-V4-Flash-0731",
+ "name": "DeepSeek V4 Flash 0731",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.18,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/DeepSeek-V4-Pro-0813": {
+ "id": "deepseek-ai/DeepSeek-V4-Pro-0813",
+ "name": "DeepSeek V4 Pro 0813",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.3,
+ "output": 2.6,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/DeepSeek-V4.1-Flash": {
+ "id": "deepseek-ai/DeepSeek-V4.1-Flash",
+ "name": "DeepSeek V4.1 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.6,
+ "cache_read": 0.006
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/DeepSeek-V3.2": {
+ "id": "deepseek-ai/DeepSeek-V3.2",
+ "name": "DeepSeek-V3.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.26,
+ "output": 0.38,
+ "cache_read": 0.13
+ },
+ "limit": {
+ "context": 163840,
+ "output": 64000
+ }
+ },
+ "moonshotai/Kimi-K2.5": {
+ "id": "moonshotai/Kimi-K2.5",
+ "name": "Kimi K2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.45,
+ "output": 2.25,
+ "cache_read": 0.07
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ }
+ }
+ },
+ "deepseek": {
+ "id": "deepseek",
+ "name": "DeepSeek",
+ "env": ["DEEPSEEK_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.deepseek.com",
+ "models": {
+ "deepseek-v4-flash-vision-exp": {
+ "id": "deepseek-v4-flash-vision-exp",
+ "name": "DeepSeek V4 Flash Vision Exp",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.003
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 393216
+ }
+ },
+ "deepseek-flash": {
+ "id": "deepseek-flash",
+ "name": "DeepSeek V4.1 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.003
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 393216
+ }
+ },
+ "deepseek-v4-pro": {
+ "id": "deepseek-v4-pro",
+ "name": "DeepSeek V4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.435,
+ "output": 0.87,
+ "cache_read": 0.003625
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 393216
+ }
+ },
+ "deepseek-v4-flash": {
+ "id": "deepseek-v4-flash",
+ "name": "DeepSeek V4 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.003
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 393216
+ }
+ }
+ }
+ },
+ "empiriolabs": {
+ "id": "empiriolabs",
+ "name": "EmpirioLabs AI",
+ "env": ["EMPIRIOLABS_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.empiriolabs.ai/v1",
+ "models": {
+ "muse-glimmer-30b": {
+ "id": "muse-glimmer-30b",
+ "name": "Muse Glimmer 30B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.8,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ }
+ }
+ },
+ "fireworks-ai": {
+ "id": "fireworks-ai",
+ "name": "Fireworks AI",
+ "env": ["FIREWORKS_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.fireworks.ai/inference/v1/",
+ "models": {
+ "accounts/fireworks/models/nemotron-3-ultra-nvfp4": {
+ "id": "accounts/fireworks/models/nemotron-3-ultra-nvfp4",
+ "name": "Nemotron 3 Ultra 550B A55B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.12
+ },
+ "limit": {
+ "context": 262144,
+ "output": 128000
+ }
+ },
+ "accounts/fireworks/models/kimi-k3": {
+ "id": "accounts/fireworks/models/kimi-k3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "accounts/fireworks/models/qwen3p8-2p4t-a95b": {
+ "id": "accounts/fireworks/models/qwen3p8-2p4t-a95b",
+ "name": "Qwen3.8 2.4T A95B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "accounts/fireworks/models/ember-1": {
+ "id": "accounts/fireworks/models/ember-1",
+ "name": "Ember-1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "accounts/fireworks/models/deepseek-v4p1-flash": {
+ "id": "accounts/fireworks/models/deepseek-v4p1-flash",
+ "name": "DeepSeek V4.1 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.22,
+ "output": 0.66,
+ "cache_read": 0.007
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "accounts/fireworks/models/glm-5p3": {
+ "id": "accounts/fireworks/models/glm-5p3",
+ "name": "GLM 5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 1048573,
+ "output": 262144
+ }
+ },
+ "accounts/fireworks/models/nemotron-lightning-3p5-30b-a3b": {
+ "id": "accounts/fireworks/models/nemotron-lightning-3p5-30b-a3b",
+ "name": "Nemotron 3.5 Lightning 30B A3B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.2,
+ "cache_read": 0.01
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "accounts/fireworks/models/inkling": {
+ "id": "accounts/fireworks/models/inkling",
+ "name": "Inkling",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 4.05,
+ "cache_read": 0.17
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "accounts/fireworks/models/minimax-m3": {
+ "id": "accounts/fireworks/models/minimax-m3",
+ "name": "MiniMax-M3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 512000,
+ "output": 512000
+ }
+ },
+ "accounts/fireworks/models/glm-5p3-flash": {
+ "id": "accounts/fireworks/models/glm-5p3-flash",
+ "name": "GLM 5.3 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048573,
+ "output": 131072
+ }
+ },
+ "accounts/fireworks/models/gpt-oss-120b": {
+ "id": "accounts/fireworks/models/gpt-oss-120b",
+ "name": "GPT OSS 120B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "accounts/fireworks/models/qwen3p8-max": {
+ "id": "accounts/fireworks/models/qwen3p8-max",
+ "name": "Qwen3.8 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "accounts/fireworks/routers/minimax-latest": {
+ "id": "accounts/fireworks/routers/minimax-latest",
+ "name": "MiniMax Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 512000,
+ "output": 512000
+ }
+ },
+ "accounts/fireworks/routers/glm-flash-latest": {
+ "id": "accounts/fireworks/routers/glm-flash-latest",
+ "name": "GLM Flash Latest (GLM 5.3 Flash)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048573,
+ "output": 131072
+ }
+ },
+ "accounts/fireworks/routers/glm-fast-latest": {
+ "id": "accounts/fireworks/routers/glm-fast-latest",
+ "name": "GLM 5.3 Fast (Latest)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.1,
+ "output": 6.6,
+ "cache_read": 0.39
+ },
+ "limit": {
+ "context": 1048572,
+ "output": 262144
+ }
+ },
+ "accounts/fireworks/routers/kimi-k3-fast": {
+ "id": "accounts/fireworks/routers/kimi-k3-fast",
+ "name": "Kimi K3 Fast",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4.5,
+ "output": 22.5,
+ "cache_read": 0.45
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "accounts/fireworks/routers/glm-5p3-fast": {
+ "id": "accounts/fireworks/routers/glm-5p3-fast",
+ "name": "GLM 5.3 Fast",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.1,
+ "output": 6.6,
+ "cache_read": 0.39
+ },
+ "limit": {
+ "context": 1048572,
+ "output": 262144
+ }
+ },
+ "accounts/fireworks/routers/kimi-fast-latest": {
+ "id": "accounts/fireworks/routers/kimi-fast-latest",
+ "name": "Kimi Fast Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4.5,
+ "output": 22.5,
+ "cache_read": 0.45
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "accounts/fireworks/routers/qwen-max-latest": {
+ "id": "accounts/fireworks/routers/qwen-max-latest",
+ "name": "Qwen Max Latest (Qwen3.8 Max)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "accounts/fireworks/routers/kimi-latest": {
+ "id": "accounts/fireworks/routers/kimi-latest",
+ "name": "Kimi Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "accounts/fireworks/routers/deepseek-flash-latest": {
+ "id": "accounts/fireworks/routers/deepseek-flash-latest",
+ "name": "DeepSeek Flash Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.22,
+ "output": 0.66,
+ "cache_read": 0.007
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "accounts/fireworks/routers/glm-latest": {
+ "id": "accounts/fireworks/routers/glm-latest",
+ "name": "GLM Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 1048573,
+ "output": 262144
+ }
+ }
+ }
+ },
+ "google": {
+ "id": "google",
+ "name": "Google",
+ "env": ["GOOGLE_API_KEY", "GOOGLE_GENERATIVE_AI_API_KEY", "GEMINI_API_KEY"],
+ "npm": "@ai-sdk/google",
+ "models": {
+ "gemini-flash-latest": {
+ "id": "gemini-flash-latest",
+ "name": "Gemini Flash Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemma-4-31b-it": {
+ "id": "gemma-4-31b-it",
+ "name": "Gemma 4 31B IT",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "gemini-omni-flash-preview": {
+ "id": "gemini-omni-flash-preview",
+ "name": "Gemini Omni Flash Preview",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["video"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 17.5
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "gemini-3.1-flash-image-preview": {
+ "id": "gemini-3.1-flash-image-preview",
+ "name": "Nano Banana 2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 60
+ },
+ "limit": {
+ "context": 65536,
+ "output": 65536
+ }
+ },
+ "veo-3.1-lite-generate-preview": {
+ "id": "veo-3.1-lite-generate-preview",
+ "name": "Veo 3.1 lite",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 480,
+ "output": 8192
+ }
+ },
+ "lyria-3-pro-preview": {
+ "id": "lyria-3-pro-preview",
+ "name": "Lyria 3 Pro Preview",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-3.1-flash-tts-preview": {
+ "id": "gemini-3.1-flash-tts-preview",
+ "name": "Gemini 3.1 Flash TTS Preview",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 20
+ },
+ "limit": {
+ "context": 8192,
+ "output": 16384
+ }
+ },
+ "gemini-2.5-flash-image": {
+ "id": "gemini-2.5-flash-image",
+ "name": "Nano Banana",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 30,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 32768,
+ "output": 32768
+ }
+ },
+ "gemini-flash-lite-latest": {
+ "id": "gemini-flash-lite-latest",
+ "name": "Gemini Flash-Lite Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-embedding-2": {
+ "id": "gemini-embedding-2",
+ "name": "Gemini Embedding 2",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "audio", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1
+ }
+ },
+ "gemini-3.6-flash": {
+ "id": "gemini-3.6-flash",
+ "name": "Gemini 3.6 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemma-4-26b-a4b-it": {
+ "id": "gemma-4-26b-a4b-it",
+ "name": "Gemma 4 26B A4B IT",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "gemini-3-pro-image-preview": {
+ "id": "gemini-3-pro-image-preview",
+ "name": "Nano Banana Pro",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 120
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "gemini-2.5-pro-preview-tts": {
+ "id": "gemini-2.5-pro-preview-tts",
+ "name": "Gemini 2.5 Pro Preview TTS",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 20
+ },
+ "limit": {
+ "context": 8192,
+ "output": 16384
+ }
+ },
+ "gemini-3.5-flash-lite": {
+ "id": "gemini-3.5-flash-lite",
+ "name": "Gemini 3.5 Flash Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-3.1-flash-image": {
+ "id": "gemini-3.1-flash-image",
+ "name": "Nano Banana 2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 60
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "lyria-3-clip-preview": {
+ "id": "lyria-3-clip-preview",
+ "name": "Lyria 3 Clip Preview",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-3.1-pro-preview": {
+ "id": "gemini-3.1-pro-preview",
+ "name": "Gemini 3.1 Pro Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-2.5-computer-use-preview-10-2025": {
+ "id": "gemini-2.5-computer-use-preview-10-2025",
+ "name": "Gemini 2.5 Computer Use Preview 10-2025",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 15,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 128000,
+ "output": 64000
+ }
+ },
+ "gemini-3.5-flash": {
+ "id": "gemini-3.5-flash",
+ "name": "Gemini 3.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 9,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-2.5-pro": {
+ "id": "gemini-2.5-pro",
+ "name": "Gemini 2.5 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 128,
+ "max": 32768
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 15,
+ "cache_read": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-3-pro-image": {
+ "id": "gemini-3-pro-image",
+ "name": "Nano Banana Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 120
+ },
+ "limit": {
+ "context": 65536,
+ "output": 32768
+ }
+ },
+ "gemini-2.5-flash": {
+ "id": "gemini-2.5-flash",
+ "name": "Gemini 2.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 0,
+ "max": 24576
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-2.5-flash-preview-tts": {
+ "id": "gemini-2.5-flash-preview-tts",
+ "name": "Gemini 2.5 Flash Preview TTS",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 10
+ },
+ "limit": {
+ "context": 8192,
+ "output": 16384
+ }
+ },
+ "gemini-3.1-flash-lite-image": {
+ "id": "gemini-3.1-flash-lite-image",
+ "name": "Nano Banana 2 Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 30
+ },
+ "limit": {
+ "context": 65536,
+ "output": 4096
+ }
+ },
+ "deep-research-preview-04-2026": {
+ "id": "deep-research-preview-04-2026",
+ "name": "Deep Research Preview (Apr-21-2026)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "deep-research-max-preview-04-2026": {
+ "id": "deep-research-max-preview-04-2026",
+ "name": "Deep Research Max Preview (Apr-21-2026)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "veo-3.1-fast-generate-preview": {
+ "id": "veo-3.1-fast-generate-preview",
+ "name": "Veo 3.1 fast",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 480,
+ "output": 8192
+ }
+ },
+ "gemini-3.7-flash": {
+ "id": "gemini-3.7-flash",
+ "name": "Gemini 3.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "veo-3.1-generate-preview": {
+ "id": "veo-3.1-generate-preview",
+ "name": "Veo 3.1",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 480,
+ "output": 8192
+ }
+ },
+ "gemini-3.1-pro-preview-customtools": {
+ "id": "gemini-3.1-pro-preview-customtools",
+ "name": "Gemini 3.1 Pro Preview Custom Tools",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-3-flash-preview": {
+ "id": "gemini-3-flash-preview",
+ "name": "Gemini 3 Flash Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-3.8-flash": {
+ "id": "gemini-3.8-flash",
+ "name": "Gemini 3.8 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-3.5-live-translate-preview": {
+ "id": "gemini-3.5-live-translate-preview",
+ "name": "Gemini 3.5 Live Translate Preview",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["audio", "text"]
+ },
+ "cost": {
+ "input": 3.5,
+ "output": 21
+ },
+ "limit": {
+ "context": 16384,
+ "output": 32768
+ }
+ },
+ "gemini-2.5-flash-lite": {
+ "id": "gemini-2.5-flash-lite",
+ "name": "Gemini 2.5 Flash-Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 512,
+ "max": 24576
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.01
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-embedding-001": {
+ "id": "gemini-embedding-001",
+ "name": "Gemini Embedding 001",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0
+ },
+ "limit": {
+ "context": 2048,
+ "output": 1
+ }
+ },
+ "gemini-3.1-flash-lite-preview": {
+ "id": "gemini-3.1-flash-lite-preview",
+ "name": "Gemini 3.1 Flash Lite Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1.5,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-3.1-flash-live-preview": {
+ "id": "gemini-3.1-flash-live-preview",
+ "name": "Gemini 3.1 Flash Live Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 4.5
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "gemini-3.1-flash-lite": {
+ "id": "gemini-3.1-flash-lite",
+ "name": "Gemini 3.1 Flash Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1.5,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ }
+ }
+ },
+ "google-vertex": {
+ "id": "google-vertex",
+ "name": "Vertex",
+ "env": [
+ "GOOGLE_VERTEX_PROJECT",
+ "GOOGLE_VERTEX_LOCATION",
+ "GOOGLE_APPLICATION_CREDENTIALS"
+ ],
+ "npm": "@ai-sdk/google-vertex",
+ "models": {
+ "claude-opus-4-8@default": {
+ "id": "claude-opus-4-8@default",
+ "name": "Claude Opus 4.8",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 37.5,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "gemini-2.5-flash-tts": {
+ "id": "gemini-2.5-flash-tts",
+ "name": "Gemini 2.5 Flash TTS",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 10
+ },
+ "limit": {
+ "context": 32768,
+ "output": 16384
+ }
+ },
+ "gemini-flash-latest": {
+ "id": "gemini-flash-latest",
+ "name": "Gemini Flash Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 9,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "claude-sonnet-4-5@20250929": {
+ "id": "claude-sonnet-4-5@20250929",
+ "name": "Claude Sonnet 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "gemini-2.5-flash-image": {
+ "id": "gemini-2.5-flash-image",
+ "name": "Nano Banana",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 30
+ },
+ "limit": {
+ "context": 32768,
+ "output": 32768
+ }
+ },
+ "claude-opus-4-6@default": {
+ "id": "claude-opus-4-6@default",
+ "name": "Claude Opus 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 37.5,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "claude-opus-4@20250514": {
+ "id": "claude-opus-4@20250514",
+ "name": "Claude Opus 4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 75,
+ "cache_read": 1.5,
+ "cache_write": 18.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 32000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "gemini-flash-lite-latest": {
+ "id": "gemini-flash-lite-latest",
+ "name": "Gemini Flash-Lite Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1.5,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "claude-sonnet-5-5@default": {
+ "id": "claude-sonnet-5-5@default",
+ "name": "Claude Sonnet 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "claude-opus-5-5@default": {
+ "id": "claude-opus-5-5@default",
+ "name": "Claude Opus 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.2,
+ "cache_write": 5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "gemini-3.6-flash": {
+ "id": "gemini-3.6-flash",
+ "name": "Gemini 3.6 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "claude-opus-5@default": {
+ "id": "claude-opus-5@default",
+ "name": "Claude Opus 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "claude-sonnet-4-6@default": {
+ "id": "claude-sonnet-4-6@default",
+ "name": "Claude Sonnet 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75,
+ "tiers": [
+ {
+ "input": 6,
+ "output": 22.5,
+ "cache_read": 0.6,
+ "cache_write": 7.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "claude-haiku-4-5@20251001": {
+ "id": "claude-haiku-4-5@20251001",
+ "name": "Claude Haiku 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 5,
+ "cache_read": 0.1,
+ "cache_write": 1.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "gemini-3.5-flash-lite": {
+ "id": "gemini-3.5-flash-lite",
+ "name": "Gemini 3.5 Flash Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-3.1-flash-image": {
+ "id": "gemini-3.1-flash-image",
+ "name": "Nano Banana 2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 60,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "gemini-3.1-pro-preview": {
+ "id": "gemini-3.1-pro-preview",
+ "name": "Gemini 3.1 Pro Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "claude-opus-4-1@20250805": {
+ "id": "claude-opus-4-1@20250805",
+ "name": "Claude Opus 4.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 75,
+ "cache_read": 1.5,
+ "cache_write": 18.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 32000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "claude-opus-4-5@20251101": {
+ "id": "claude-opus-4-5@20251101",
+ "name": "Claude Opus 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "claude-opus-4-7@default": {
+ "id": "claude-opus-4-7@default",
+ "name": "Claude Opus 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 37.5,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "gemini-3.5-flash": {
+ "id": "gemini-3.5-flash",
+ "name": "Gemini 3.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 9,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-2.5-pro": {
+ "id": "gemini-2.5-pro",
+ "name": "Gemini 2.5 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 128,
+ "max": 32768
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 15,
+ "cache_read": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-3-pro-image": {
+ "id": "gemini-3-pro-image",
+ "name": "Nano Banana Pro",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 120,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 65536,
+ "output": 32768
+ }
+ },
+ "gemini-2.5-flash": {
+ "id": "gemini-2.5-flash",
+ "name": "Gemini 2.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 0,
+ "max": 24576
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "claude-fable-5-1@default": {
+ "id": "claude-fable-5-1@default",
+ "name": "Claude Fable 5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 0.25,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "gemini-3.7-flash": {
+ "id": "gemini-3.7-flash",
+ "name": "Gemini 3.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-3.1-pro-preview-customtools": {
+ "id": "gemini-3.1-pro-preview-customtools",
+ "name": "Gemini 3.1 Pro Preview Custom Tools",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-3-flash-preview": {
+ "id": "gemini-3-flash-preview",
+ "name": "Gemini 3 Flash Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "claude-fable-5@default": {
+ "id": "claude-fable-5@default",
+ "name": "Claude Fable 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "gemini-3.8-flash": {
+ "id": "gemini-3.8-flash",
+ "name": "Gemini 3.8 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "gemini-2.5-flash-lite": {
+ "id": "gemini-2.5-flash-lite",
+ "name": "Gemini 2.5 Flash-Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 512,
+ "max": 24576
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.01
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65535
+ }
+ },
+ "gemini-2.5-pro-tts": {
+ "id": "gemini-2.5-pro-tts",
+ "name": "Gemini 2.5 Pro TTS",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 20
+ },
+ "limit": {
+ "context": 32768,
+ "output": 16384
+ }
+ },
+ "gemini-embedding-001": {
+ "id": "gemini-embedding-001",
+ "name": "Gemini Embedding 001",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0
+ },
+ "limit": {
+ "context": 2048,
+ "output": 1
+ }
+ },
+ "claude-sonnet-4@20250514": {
+ "id": "claude-sonnet-4@20250514",
+ "name": "Claude Sonnet 4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "gemini-3.1-flash-lite-preview": {
+ "id": "gemini-3.1-flash-lite-preview",
+ "name": "Gemini 3.1 Flash Lite Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1.5,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "claude-sonnet-5@default": {
+ "id": "claude-sonnet-5@default",
+ "name": "Claude Sonnet 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/google-vertex/anthropic"
+ }
+ },
+ "gemini-3.1-flash-lite": {
+ "id": "gemini-3.1-flash-lite",
+ "name": "Gemini 3.1 Flash Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1.5,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "meta/llama-4-maverick-17b-128e-instruct-maas": {
+ "id": "meta/llama-4-maverick-17b-128e-instruct-maas",
+ "name": "Llama 4 Maverick 17B 128E Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.35,
+ "output": 1.15
+ },
+ "limit": {
+ "context": 524288,
+ "output": 8192
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "meta/llama-3.3-70b-instruct-maas": {
+ "id": "meta/llama-3.3-70b-instruct-maas",
+ "name": "Llama 3.3 70B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.72,
+ "output": 0.72
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "xai/grok-4.20-reasoning": {
+ "id": "xai/grok-4.20-reasoning",
+ "name": "Grok 4.20 (Reasoning)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 30000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "xai/grok-4.20-non-reasoning": {
+ "id": "xai/grok-4.20-non-reasoning",
+ "name": "Grok 4.20 (Non-Reasoning)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 30000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "xai/grok-4.1-fast-reasoning": {
+ "id": "xai/grok-4.1-fast-reasoning",
+ "name": "Grok 4.1 Fast (Reasoning)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.5,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 128000,
+ "output": 30000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "xai/grok-4.3": {
+ "id": "xai/grok-4.3",
+ "name": "Grok 4.3",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 200000,
+ "output": 30000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "xai/grok-4.1-fast-non-reasoning": {
+ "id": "xai/grok-4.1-fast-non-reasoning",
+ "name": "Grok 4.1 Fast",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.5,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 128000,
+ "output": 30000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "xai/grok-4.6": {
+ "id": "xai/grok-4.6",
+ "name": "Grok 4.6",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 524288,
+ "output": 500000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "deepseek-ai/deepseek-v3.1-maas": {
+ "id": "deepseek-ai/deepseek-v3.1-maas",
+ "name": "DeepSeek V3.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 1.7,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 163840,
+ "output": 32768
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "deepseek-ai/deepseek-v3.2-maas": {
+ "id": "deepseek-ai/deepseek-v3.2-maas",
+ "name": "DeepSeek V3.2",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.56,
+ "output": 1.68,
+ "cache_read": 0.056
+ },
+ "limit": {
+ "context": 163840,
+ "output": 65536
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "moonshotai/kimi-k2-thinking-maas": {
+ "id": "moonshotai/kimi-k2-thinking-maas",
+ "name": "Kimi K2 Thinking",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.5,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "zai-org/glm-5-maas": {
+ "id": "zai-org/glm-5-maas",
+ "name": "GLM-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 3.2,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 200000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "zai-org/glm-4.7-maas": {
+ "id": "zai-org/glm-4.7-maas",
+ "name": "GLM-4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 200000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "zai-org/glm-5.2-maas": {
+ "id": "zai-org/glm-5.2-maas",
+ "name": "GLM-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.14
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "qwen/qwen3-235b-a22b-instruct-2507-maas": {
+ "id": "qwen/qwen3-235b-a22b-instruct-2507-maas",
+ "name": "Qwen3 235B A22B Instruct",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.22,
+ "output": 0.88
+ },
+ "limit": {
+ "context": 262144,
+ "output": 16384
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "openai/gpt-oss-20b-maas": {
+ "id": "openai/gpt-oss-20b-maas",
+ "name": "GPT OSS 20B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.07,
+ "output": 0.25,
+ "cache_read": 0.007
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ },
+ "openai/gpt-oss-120b-maas": {
+ "id": "openai/gpt-oss-120b-maas",
+ "name": "GPT OSS 120B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.09,
+ "output": 0.36
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"
+ }
+ }
+ }
+ },
+ "groq": {
+ "id": "groq",
+ "name": "Groq",
+ "env": ["GROQ_API_KEY"],
+ "npm": "@ai-sdk/groq",
+ "models": {
+ "whisper-large-v3": {
+ "id": "whisper-large-v3",
+ "name": "Whisper",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "llama-3.3-70b-versatile": {
+ "id": "llama-3.3-70b-versatile",
+ "name": "Llama 3.3 70B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.59,
+ "output": 0.79
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "allam-2-7b": {
+ "id": "allam-2-7b",
+ "name": "ALLaM-2-7b",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 4096,
+ "output": 4096
+ }
+ },
+ "whisper-large-v3-turbo": {
+ "id": "whisper-large-v3-turbo",
+ "name": "Whisper Large V3 Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "llama-3.1-8b-instant": {
+ "id": "llama-3.1-8b-instant",
+ "name": "Llama 3.1 8B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.08
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "groq/compound-mini": {
+ "id": "groq/compound-mini",
+ "name": "Compound Mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "groq/compound": {
+ "id": "groq/compound",
+ "name": "Compound",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "meta-llama/llama-prompt-guard-2-86m": {
+ "id": "meta-llama/llama-prompt-guard-2-86m",
+ "name": "Prompt Guard 2 86M",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.04,
+ "output": 0.04
+ },
+ "limit": {
+ "context": 512,
+ "output": 512
+ }
+ },
+ "meta-llama/llama-prompt-guard-2-22m": {
+ "id": "meta-llama/llama-prompt-guard-2-22m",
+ "name": "Llama Prompt Guard 2 22M",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.03,
+ "output": 0.03
+ },
+ "limit": {
+ "context": 512,
+ "output": 512
+ }
+ },
+ "canopylabs/orpheus-v1-english": {
+ "id": "canopylabs/orpheus-v1-english",
+ "name": "Canopy Labs Orpheus V1 English",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "limit": {
+ "context": 4000,
+ "output": 50000
+ }
+ },
+ "canopylabs/orpheus-arabic-saudi": {
+ "id": "canopylabs/orpheus-arabic-saudi",
+ "name": "Canopy Labs Orpheus Arabic Saudi",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "limit": {
+ "context": 4000,
+ "output": 50000
+ }
+ },
+ "qwen/qwen3.8-27b": {
+ "id": "qwen/qwen3.8-27b",
+ "name": "Qwen3.8 27B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "default", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 4
+ },
+ "limit": {
+ "context": 131042,
+ "output": 16384
+ }
+ },
+ "qwen/qwen3.6-27b": {
+ "id": "qwen/qwen3.6-27b",
+ "name": "Qwen3.6 27B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "default"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "openai/gpt-oss-20b": {
+ "id": "openai/gpt-oss-20b",
+ "name": "GPT OSS 20B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.075,
+ "output": 0.3,
+ "cache_read": 0.0375
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "openai/gpt-oss-safeguard-20b": {
+ "id": "openai/gpt-oss-safeguard-20b",
+ "name": "Safety GPT OSS 20B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.075,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "openai/gpt-oss-120b": {
+ "id": "openai/gpt-oss-120b",
+ "name": "GPT OSS 120B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ }
+ }
+ },
+ "huggingface": {
+ "id": "huggingface",
+ "name": "Hugging Face",
+ "env": ["HF_TOKEN"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://router.huggingface.co/v1",
+ "models": {
+ "tencent/Hy3": {
+ "id": "tencent/Hy3",
+ "name": "Hy3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.58
+ },
+ "limit": {
+ "context": 262144,
+ "output": 128000
+ }
+ },
+ "tencent/Hy4-preview": {
+ "id": "tencent/Hy4-preview",
+ "name": "Hy4 preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.834,
+ "output": 2.501
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "meta-llama/Llama-3.1-8B-Instruct": {
+ "id": "meta-llama/Llama-3.1-8B-Instruct",
+ "name": "Llama-3.1-8B-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.06
+ },
+ "limit": {
+ "context": 131072,
+ "output": 4096
+ }
+ },
+ "meta-llama/Llama-3.3-70B-Instruct": {
+ "id": "meta-llama/Llama-3.3-70B-Instruct",
+ "name": "Llama-3.3-70B-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.59,
+ "output": 0.79
+ },
+ "limit": {
+ "context": 131072,
+ "output": 4096
+ }
+ },
+ "XiaomiMiMo/MiMo-V2-Flash": {
+ "id": "XiaomiMiMo/MiMo-V2-Flash",
+ "name": "MiMo-V2-Flash",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 262144,
+ "output": 4096
+ }
+ },
+ "XiaomiMiMo/MiMo-V2.5-Pro": {
+ "id": "XiaomiMiMo/MiMo-V2.5-Pro",
+ "name": "MiMo-V2.5-Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "XiaomiMiMo/MiMo-V2.5": {
+ "id": "XiaomiMiMo/MiMo-V2.5",
+ "name": "MiMo-V2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "thinkingmachines/Inkling-Small": {
+ "id": "thinkingmachines/Inkling-Small",
+ "name": "Inkling Small",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 524288,
+ "output": 1048576
+ }
+ },
+ "thinkingmachines/Inkling": {
+ "id": "thinkingmachines/Inkling",
+ "name": "Inkling",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 4.05
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "google/gemma-3-27b-it": {
+ "id": "google/gemma-3-27b-it",
+ "name": "Gemma 3 27B IT",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.08,
+ "output": 0.16
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "google/gemma-3-12b-it": {
+ "id": "google/gemma-3-12b-it",
+ "name": "Gemma 3 12B IT",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.15
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "google/gemma-3-4b-it": {
+ "id": "google/gemma-3-4b-it",
+ "name": "Gemma 3 4B IT",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.1
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "google/gemma-4-31B-it": {
+ "id": "google/gemma-4-31B-it",
+ "name": "Gemma 4 31B IT",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "google/gemma-4-26B-A4B-it": {
+ "id": "google/gemma-4-26B-A4B-it",
+ "name": "Gemma 4 26B A4B IT",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.13,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "Qwen/Qwen3-VL-235B-A22B-Instruct": {
+ "id": "Qwen/Qwen3-VL-235B-A22B-Instruct",
+ "name": "Qwen3 VL 235B A22B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.5
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "Qwen/Qwen3.8-27B": {
+ "id": "Qwen/Qwen3.8-27B",
+ "name": "Qwen3.8 27B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 3
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "Qwen/Qwen3-Next-80B-A3B-Instruct": {
+ "id": "Qwen/Qwen3-Next-80B-A3B-Instruct",
+ "name": "Qwen3-Next-80B-A3B-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1
+ },
+ "limit": {
+ "context": 262144,
+ "output": 66536
+ }
+ },
+ "Qwen/Qwen2.5-Coder-32B-Instruct": {
+ "id": "Qwen/Qwen2.5-Coder-32B-Instruct",
+ "name": "Qwen2.5-Coder-32B-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.2
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "Qwen/Qwen3-Coder-Next": {
+ "id": "Qwen/Qwen3-Coder-Next",
+ "name": "Qwen3-Coder-Next",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.5
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "Qwen/Qwen3-VL-235B-A22B-Thinking": {
+ "id": "Qwen/Qwen3-VL-235B-A22B-Thinking",
+ "name": "Qwen3 VL 235B A22B Thinking",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.98,
+ "output": 3.95
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "Qwen/Qwen3.5-27B": {
+ "id": "Qwen/Qwen3.5-27B",
+ "name": "Qwen3.5 27B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.4
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "Qwen/Qwen3-Next-80B-A3B-Thinking": {
+ "id": "Qwen/Qwen3-Next-80B-A3B-Thinking",
+ "name": "Qwen3-Next-80B-A3B-Thinking",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "Qwen/Qwen3.6-35B-A3B": {
+ "id": "Qwen/Qwen3.6-35B-A3B",
+ "name": "Qwen3.6 35B-A3B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.95
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "Qwen/Qwen3-235B-A22B-Thinking-2507": {
+ "id": "Qwen/Qwen3-235B-A22B-Thinking-2507",
+ "name": "Qwen3-235B-A22B-Thinking-2507",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 3
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "Qwen/Qwen3-235B-A22B-Instruct-2507": {
+ "id": "Qwen/Qwen3-235B-A22B-Instruct-2507",
+ "name": "Qwen3 235B-A22B Instruct 2507",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.855,
+ "output": 2.565
+ },
+ "limit": {
+ "context": 262144,
+ "output": 16384
+ }
+ },
+ "Qwen/Qwen3-235B-A22B": {
+ "id": "Qwen/Qwen3-235B-A22B",
+ "name": "Qwen3 235B-A22B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.8
+ },
+ "limit": {
+ "context": 40960,
+ "output": 16384
+ }
+ },
+ "Qwen/Qwen3-32B": {
+ "id": "Qwen/Qwen3-32B",
+ "name": "Qwen3 32B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.29,
+ "output": 0.59
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "Qwen/Qwen3-Coder-30B-A3B-Instruct": {
+ "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct",
+ "name": "Qwen3-Coder 30B-A3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.07,
+ "output": 0.26
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "Qwen/Qwen3-Embedding-8B": {
+ "id": "Qwen/Qwen3-Embedding-8B",
+ "name": "Qwen 3 Embedding 8B",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.01,
+ "output": 0
+ },
+ "limit": {
+ "context": 32000,
+ "output": 4096
+ }
+ },
+ "Qwen/Qwen3.5-35B-A3B": {
+ "id": "Qwen/Qwen3.5-35B-A3B",
+ "name": "Qwen3.5 35B-A3B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "Qwen/Qwen3.5-122B-A10B": {
+ "id": "Qwen/Qwen3.5-122B-A10B",
+ "name": "Qwen3.5 122B-A10B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 3.2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "Qwen/Qwen3.5-9B": {
+ "id": "Qwen/Qwen3.5-9B",
+ "name": "Qwen3.5 9B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.17,
+ "output": 0.25
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "Qwen/Qwen3.5-397B-A17B": {
+ "id": "Qwen/Qwen3.5-397B-A17B",
+ "name": "Qwen3.5-397B-A17B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3.6
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "Qwen/Qwen3-Embedding-4B": {
+ "id": "Qwen/Qwen3-Embedding-4B",
+ "name": "Qwen 3 Embedding 4B",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.01,
+ "output": 0
+ },
+ "limit": {
+ "context": 32000,
+ "output": 2048
+ }
+ },
+ "Qwen/Qwen3.8-2.4T-A95B": {
+ "id": "Qwen/Qwen3.8-2.4T-A95B",
+ "name": "Qwen3.8 2.4T A95B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 6.25
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "Qwen/Qwen3-30B-A3B": {
+ "id": "Qwen/Qwen3-30B-A3B",
+ "name": "Qwen3 30B A3B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.12,
+ "output": 0.5
+ },
+ "limit": {
+ "context": 40960,
+ "output": 16384
+ }
+ },
+ "Qwen/Qwen3-Coder-480B-A35B-Instruct": {
+ "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct",
+ "name": "Qwen3-Coder-480B-A35B-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 66536
+ }
+ },
+ "Qwen/Qwen3.6-27B": {
+ "id": "Qwen/Qwen3.6-27B",
+ "name": "Qwen3.6 27B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.47,
+ "output": 3.19
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "deepseek-ai/DeepSeek-V3.1": {
+ "id": "deepseek-ai/DeepSeek-V3.1",
+ "name": "DeepSeek-V3.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.27,
+ "output": 1
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "deepseek-ai/DeepSeek-V4-Flash-0731": {
+ "id": "deepseek-ai/DeepSeek-V4-Flash-0731",
+ "name": "DeepSeek V4 Flash 0731",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/DeepSeek-R1": {
+ "id": "deepseek-ai/DeepSeek-R1",
+ "name": "DeepSeek-R1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.7,
+ "output": 2.5
+ },
+ "limit": {
+ "context": 64000,
+ "output": 32768
+ }
+ },
+ "deepseek-ai/DeepSeek-V4-Pro-0813": {
+ "id": "deepseek-ai/DeepSeek-V4-Pro-0813",
+ "name": "DeepSeek V4 Pro 0813",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.32,
+ "output": 3.96
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/DeepSeek-V4.1-Flash": {
+ "id": "deepseek-ai/DeepSeek-V4.1-Flash",
+ "name": "DeepSeek V4.1 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/DeepSeek-V4-Flash": {
+ "id": "deepseek-ai/DeepSeek-V4-Flash",
+ "name": "DeepSeek V4 Flash",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/DeepSeek-V4-Pro": {
+ "id": "deepseek-ai/DeepSeek-V4-Pro",
+ "name": "DeepSeek V4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.435,
+ "output": 0.87,
+ "cache_read": 0.003625
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 393216
+ }
+ },
+ "deepseek-ai/DeepSeek-V3.2": {
+ "id": "deepseek-ai/DeepSeek-V3.2",
+ "name": "DeepSeek-V3.2",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.28,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 163840,
+ "output": 65536
+ }
+ },
+ "deepseek-ai/DeepSeek-R1-0528": {
+ "id": "deepseek-ai/DeepSeek-R1-0528",
+ "name": "DeepSeek-R1-0528",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 5
+ },
+ "limit": {
+ "context": 163840,
+ "output": 163840
+ }
+ },
+ "deepseek-ai/DeepSeek-V3": {
+ "id": "deepseek-ai/DeepSeek-V3",
+ "name": "DeepSeek-V3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 1.3
+ },
+ "limit": {
+ "context": 64000,
+ "output": 8192
+ }
+ },
+ "deepseek-ai/DeepSeek-V3-0324": {
+ "id": "deepseek-ai/DeepSeek-V3-0324",
+ "name": "DeepSeek V3 0324",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.27,
+ "output": 1.12
+ },
+ "limit": {
+ "context": 163840,
+ "output": 163840
+ }
+ },
+ "deepseek-ai/DeepSeek-V4-Flash-Vision-Exp": {
+ "id": "deepseek-ai/DeepSeek-V4-Flash-Vision-Exp",
+ "name": "DeepSeek V4 Flash Vision Exp",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.44,
+ "output": 1.32
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 384000
+ }
+ },
+ "stepfun-ai/Step-3.7-Flash": {
+ "id": "stepfun-ai/Step-3.7-Flash",
+ "name": "Step 3.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.15
+ },
+ "limit": {
+ "context": 262144,
+ "output": 256000
+ }
+ },
+ "stepfun-ai/Step-3.5-Flash": {
+ "id": "stepfun-ai/Step-3.5-Flash",
+ "name": "Step 3.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 262144,
+ "output": 256000
+ }
+ },
+ "MiniMaxAI/MiniMax-M3": {
+ "id": "MiniMaxAI/MiniMax-M3",
+ "name": "MiniMax-M3",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 524288,
+ "output": 512000
+ }
+ },
+ "MiniMaxAI/MiniMax-M2.1": {
+ "id": "MiniMaxAI/MiniMax-M2.1",
+ "name": "MiniMax-M2.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMaxAI/MiniMax-M2.5": {
+ "id": "MiniMaxAI/MiniMax-M2.5",
+ "name": "MiniMax-M2.5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMaxAI/MiniMax-M2.7": {
+ "id": "MiniMaxAI/MiniMax-M2.7",
+ "name": "MiniMax-M2.7",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMaxAI/MiniMax-M2": {
+ "id": "MiniMaxAI/MiniMax-M2",
+ "name": "MiniMax-M2",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "moonshotai/Kimi-K2.6": {
+ "id": "moonshotai/Kimi-K2.6",
+ "name": "Kimi-K2.6",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.16
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "moonshotai/Kimi-K3": {
+ "id": "moonshotai/Kimi-K3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "moonshotai/Kimi-K2-Instruct": {
+ "id": "moonshotai/Kimi-K2-Instruct",
+ "name": "Kimi-K2-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 3
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "moonshotai/Kimi-K2.7-Code": {
+ "id": "moonshotai/Kimi-K2.7-Code",
+ "name": "Kimi K2.7 Code",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "moonshotai/Kimi-K2.5": {
+ "id": "moonshotai/Kimi-K2.5",
+ "name": "Kimi-K2.5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "moonshotai/Kimi-K2-Thinking": {
+ "id": "moonshotai/Kimi-K2-Thinking",
+ "name": "Kimi-K2-Thinking",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.5,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "moonshotai/Kimi-K2-Instruct-0905": {
+ "id": "moonshotai/Kimi-K2-Instruct-0905",
+ "name": "Kimi-K2-Instruct-0905",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 3
+ },
+ "limit": {
+ "context": 262144,
+ "output": 16384
+ }
+ },
+ "zai-org/GLM-4.6V-Flash": {
+ "id": "zai-org/GLM-4.6V-Flash",
+ "name": "GLM-4.6V-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 0.9
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "zai-org/GLM-5.1": {
+ "id": "zai-org/GLM-5.1",
+ "name": "GLM-5.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 3.2,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 202752,
+ "output": 131072
+ }
+ },
+ "zai-org/GLM-5.2": {
+ "id": "zai-org/GLM-5.2",
+ "name": "GLM-5.2",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "zai-org/GLM-4.5-Air": {
+ "id": "zai-org/GLM-4.5-Air",
+ "name": "GLM-4.5-Air",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.13,
+ "output": 0.85
+ },
+ "limit": {
+ "context": 131072,
+ "output": 98304
+ }
+ },
+ "zai-org/GLM-4.7": {
+ "id": "zai-org/GLM-4.7",
+ "name": "GLM-4.7",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2,
+ "cache_read": 0.11
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "zai-org/GLM-5": {
+ "id": "zai-org/GLM-5",
+ "name": "GLM-5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 3.2,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 202752,
+ "output": 131072
+ }
+ },
+ "zai-org/GLM-5.3-Flash": {
+ "id": "zai-org/GLM-5.3-Flash",
+ "name": "GLM-5.3-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.5
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "zai-org/GLM-4.5V": {
+ "id": "zai-org/GLM-4.5V",
+ "name": "GLM-4.5V",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 1.8
+ },
+ "limit": {
+ "context": 65536,
+ "output": 16384
+ }
+ },
+ "zai-org/GLM-4.6": {
+ "id": "zai-org/GLM-4.6",
+ "name": "GLM-4.6",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.55,
+ "output": 2.2
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "zai-org/GLM-4.7-Flash": {
+ "id": "zai-org/GLM-4.7-Flash",
+ "name": "GLM-4.7-Flash",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 128000
+ }
+ },
+ "zai-org/GLM-5.3": {
+ "id": "zai-org/GLM-5.3",
+ "name": "GLM-5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "zai-org/GLM-4.5": {
+ "id": "zai-org/GLM-4.5",
+ "name": "GLM-4.5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2
+ },
+ "limit": {
+ "context": 131072,
+ "output": 98304
+ }
+ },
+ "openai/gpt-oss-20b": {
+ "id": "openai/gpt-oss-20b",
+ "name": "GPT OSS 20B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.5
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "openai/gpt-oss-120b": {
+ "id": "openai/gpt-oss-120b",
+ "name": "GPT OSS 120B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 0.69
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ }
+ }
+ },
+ "jiekou": {
+ "id": "jiekou",
+ "name": "Jiekou.AI",
+ "env": ["JIEKOU_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.jiekou.ai/openai",
+ "models": {
+ "gpt-5-chat-latest": {
+ "id": "gpt-5-chat-latest",
+ "name": "gpt-5-chat-latest",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.125,
+ "output": 9
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ }
+ }
+ },
+ "kilo": {
+ "id": "kilo",
+ "name": "Kilo Gateway",
+ "env": ["KILO_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.kilo.ai/api/gateway",
+ "models": {
+ "nex-agi/nex-n2.5-mini": {
+ "id": "nex-agi/nex-n2.5-mini",
+ "name": "Nex AGI: Nex-N2.5-Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.025,
+ "output": 0.1,
+ "cache_read": 0.0025
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "nex-agi/nex-n2.5-pro": {
+ "id": "nex-agi/nex-n2.5-pro",
+ "name": "Nex AGI: Nex-N2.5-Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.075,
+ "output": 0.25,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "openrouter/auto": {
+ "id": "openrouter/auto",
+ "name": "Auto Router",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["audio", "image", "pdf", "text", "video"],
+ "output": ["image", "text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 32768
+ }
+ },
+ "~deepseek/deepseek-pro-latest": {
+ "id": "~deepseek/deepseek-pro-latest",
+ "name": "DeepSeek: DeepSeek Pro Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.123,
+ "output": 3.5,
+ "cache_read": 0.123
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 393216
+ }
+ },
+ "inclusionai/ling-3.0-flash-fin": {
+ "id": "inclusionai/ling-3.0-flash-fin",
+ "name": "inclusionAI: Ling 3.0 Flash Fin",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.075,
+ "output": 0.22,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ }
+ }
+ },
+ "kimi-code-plan-cn": {
+ "id": "kimi-code-plan-cn",
+ "name": "Kimi For Coding (kimi.com)",
+ "env": ["KIMI_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.kimi.com/coding/v1",
+ "models": {
+ "kimi-for-coding-highspeed": {
+ "id": "kimi-for-coding-highspeed",
+ "name": "Kimi For Coding HighSpeed",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "kimi-for-coding": {
+ "id": "kimi-for-coding",
+ "name": "kimi-for-coding",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 32768
+ }
+ },
+ "k3-256k": {
+ "id": "k3-256k",
+ "name": "Kimi K3-256K",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "k3": {
+ "id": "k3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ }
+ }
+ },
+ "kimi-code-plan-global": {
+ "id": "kimi-code-plan-global",
+ "name": "Kimi For Coding (kimi.ai)",
+ "env": ["KIMI_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.kimi.ai/coding/v1",
+ "models": {
+ "kimi-for-coding-highspeed": {
+ "id": "kimi-for-coding-highspeed",
+ "name": "Kimi For Coding HighSpeed",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "kimi-for-coding": {
+ "id": "kimi-for-coding",
+ "name": "kimi-for-coding",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 32768
+ }
+ },
+ "k3-256k": {
+ "id": "k3-256k",
+ "name": "Kimi K3-256K",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "k3": {
+ "id": "k3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ }
+ }
+ },
+ "meta": {
+ "id": "meta",
+ "name": "Meta",
+ "env": ["META_MODEL_API_KEY"],
+ "npm": "@ai-sdk/openai",
+ "api": "https://api.meta.ai/v1",
+ "models": {
+ "muse-spark-1.3": {
+ "id": "muse-spark-1.3",
+ "name": "Muse Spark 1.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 4.25,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "muse-spark-1.1": {
+ "id": "muse-spark-1.1",
+ "name": "Muse Spark 1.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 4.25,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "muse-spark-1.2": {
+ "id": "muse-spark-1.2",
+ "name": "Muse Spark 1.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 4.25,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "muse-spark-1.2-contributor": {
+ "id": "muse-spark-1.2-contributor",
+ "name": "Muse Spark 1.2 Contributor",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.2,
+ "cache_read": 0.002
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "muse-spark-1.3-contributor": {
+ "id": "muse-spark-1.3-contributor",
+ "name": "Muse Spark 1.3 Contributor",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.2,
+ "cache_read": 0.002
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ }
+ }
+ },
+ "minimax": {
+ "id": "minimax",
+ "name": "MiniMax (minimax.io)",
+ "env": ["MINIMAX_API_KEY"],
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://api.minimax.io/anthropic/v1",
+ "models": {
+ "MiniMax-M3": {
+ "id": "MiniMax-M3",
+ "name": "MiniMax-M3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06,
+ "tiers": [
+ {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.12,
+ "tier": {
+ "type": "context",
+ "size": 512000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 512000
+ }
+ },
+ "MiniMax-M2.1": {
+ "id": "MiniMax-M2.1",
+ "name": "MiniMax-M2.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.03,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMax-M2.5": {
+ "id": "MiniMax-M2.5",
+ "name": "MiniMax-M2.5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.03,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMax-M2.7": {
+ "id": "MiniMax-M2.7",
+ "name": "MiniMax-M2.7",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMax-M2.7-highspeed": {
+ "id": "MiniMax-M2.7-highspeed",
+ "name": "MiniMax-M2.7-highspeed",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.06,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMax-M2": {
+ "id": "MiniMax-M2",
+ "name": "MiniMax-M2",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMax-M2.5-highspeed": {
+ "id": "MiniMax-M2.5-highspeed",
+ "name": "MiniMax-M2.5-highspeed",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.06,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ }
+ }
+ },
+ "minimax-cn": {
+ "id": "minimax-cn",
+ "name": "MiniMax (minimax.cn)",
+ "env": ["MINIMAX_API_KEY"],
+ "npm": "@ai-sdk/anthropic",
+ "api": "https://api.minimax.cn/anthropic/v1",
+ "models": {
+ "MiniMax-M3": {
+ "id": "MiniMax-M3",
+ "name": "MiniMax-M3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06,
+ "tiers": [
+ {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.12,
+ "tier": {
+ "type": "context",
+ "size": 512000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 512000
+ }
+ },
+ "MiniMax-M2.1": {
+ "id": "MiniMax-M2.1",
+ "name": "MiniMax-M2.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.03,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMax-M2.5": {
+ "id": "MiniMax-M2.5",
+ "name": "MiniMax-M2.5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.03,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMax-M2.7": {
+ "id": "MiniMax-M2.7",
+ "name": "MiniMax-M2.7",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMax-M2.7-highspeed": {
+ "id": "MiniMax-M2.7-highspeed",
+ "name": "MiniMax-M2.7-highspeed",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.06,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMax-M2": {
+ "id": "MiniMax-M2",
+ "name": "MiniMax-M2",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMax-M2.5-highspeed": {
+ "id": "MiniMax-M2.5-highspeed",
+ "name": "MiniMax-M2.5-highspeed",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.06,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ }
+ }
+ },
+ "mistral": {
+ "id": "mistral",
+ "name": "Mistral",
+ "env": ["MISTRAL_API_KEY"],
+ "npm": "@ai-sdk/mistral",
+ "models": {
+ "open-mistral-nemo": {
+ "id": "open-mistral-nemo",
+ "name": "Open Mistral Nemo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.15
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "codestral-latest": {
+ "id": "codestral-latest",
+ "name": "Codestral (latest)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 0.9,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 256000,
+ "output": 4096
+ }
+ },
+ "mistral-large-2411": {
+ "id": "mistral-large-2411",
+ "name": "Mistral Large 2.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "mistral-nemo": {
+ "id": "mistral-nemo",
+ "name": "Mistral Nemo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.15
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "voxtral-mini-tts-latest": {
+ "id": "voxtral-mini-tts-latest",
+ "name": "Voxtral Mini TTS (latest)",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "mistral-medium-2508": {
+ "id": "mistral-medium-2508",
+ "name": "Mistral Medium 3.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "mistral-large-latest": {
+ "id": "mistral-large-latest",
+ "name": "Mistral Large (latest)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.5,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "mistral-small-latest": {
+ "id": "mistral-small-latest",
+ "name": "Mistral Small (latest)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ }
+ },
+ "zai-glm-5-2": {
+ "id": "zai-glm-5-2",
+ "name": "GLM-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.14
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "ministral-8b-latest": {
+ "id": "ministral-8b-latest",
+ "name": "Ministral 8B (latest)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.1
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "devstral-medium-latest": {
+ "id": "devstral-medium-latest",
+ "name": "Devstral 2 (latest)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "open-mixtral-8x22b": {
+ "id": "open-mixtral-8x22b",
+ "name": "Mixtral 8x22B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6
+ },
+ "limit": {
+ "context": 64000,
+ "output": 64000
+ }
+ },
+ "devstral-2512": {
+ "id": "devstral-2512",
+ "name": "Devstral 2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "mistral-medium-2505": {
+ "id": "mistral-medium-2505",
+ "name": "Mistral Medium 3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "magistral-medium-latest": {
+ "id": "magistral-medium-latest",
+ "name": "Magistral Medium (latest)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 5
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "pixtral-12b": {
+ "id": "pixtral-12b",
+ "name": "Pixtral 12B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.15
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "mistral-embed": {
+ "id": "mistral-embed",
+ "name": "Mistral Embed",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0
+ },
+ "limit": {
+ "context": 8000,
+ "output": 3072
+ }
+ },
+ "devstral-small-2505": {
+ "id": "devstral-small-2505",
+ "name": "Devstral Small 2505",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "mistral-small-2603": {
+ "id": "mistral-small-2603",
+ "name": "Mistral Small 4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ }
+ },
+ "devstral-medium-2507": {
+ "id": "devstral-medium-2507",
+ "name": "Devstral Medium",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "voxtral-mini-latest": {
+ "id": "voxtral-mini-latest",
+ "name": "Voxtral Mini (latest)",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "labs-devstral-small-2512": {
+ "id": "labs-devstral-small-2512",
+ "name": "Devstral Small 2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ }
+ },
+ "mistral-large-2512": {
+ "id": "mistral-large-2512",
+ "name": "Mistral Large 3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.5,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "devstral-latest": {
+ "id": "devstral-latest",
+ "name": "Devstral 2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "devstral-small-2507": {
+ "id": "devstral-small-2507",
+ "name": "Devstral Small",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "pixtral-large-latest": {
+ "id": "pixtral-large-latest",
+ "name": "Pixtral Large (latest)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "voxtral-small-latest": {
+ "id": "voxtral-small-latest",
+ "name": "Voxtral Small (latest)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 32000,
+ "output": 32000
+ }
+ },
+ "open-mixtral-8x7b": {
+ "id": "open-mixtral-8x7b",
+ "name": "Mixtral 8x7B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.7,
+ "output": 0.7
+ },
+ "limit": {
+ "context": 32000,
+ "output": 32000
+ }
+ },
+ "mistral-small-2506": {
+ "id": "mistral-small-2506",
+ "name": "Mistral Small 3.2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "zai-glm-5-3": {
+ "id": "zai-glm-5-3",
+ "name": "GLM-5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.14
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "mistral-medium-2604": {
+ "id": "mistral-medium-2604",
+ "name": "Mistral Medium 3.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 7.5,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "open-mistral-7b": {
+ "id": "open-mistral-7b",
+ "name": "Mistral 7B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 0.25
+ },
+ "limit": {
+ "context": 8000,
+ "output": 8000
+ }
+ },
+ "ministral-3b-latest": {
+ "id": "ministral-3b-latest",
+ "name": "Ministral 3B (latest)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.04,
+ "output": 0.04
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "mistral-medium-latest": {
+ "id": "mistral-medium-latest",
+ "name": "Mistral Medium (latest)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 7.5,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ }
+ }
+ },
+ "moonshotai": {
+ "id": "moonshotai",
+ "name": "Moonshot AI",
+ "env": ["MOONSHOT_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.moonshot.ai/v1",
+ "models": {
+ "kimi-k3": {
+ "id": "kimi-k3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "kimi-k2.7-code-highspeed": {
+ "id": "kimi-k2.7-code-highspeed",
+ "name": "Kimi K2.7 Code HighSpeed",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.9,
+ "output": 8,
+ "cache_read": 0.38
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "kimi-k2.6": {
+ "id": "kimi-k2.6",
+ "name": "Kimi K2.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.16
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "kimi-k2.7-code": {
+ "id": "kimi-k2.7-code",
+ "name": "Kimi K2.7 Code",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.19
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ }
+ }
+ },
+ "moonshotai-cn": {
+ "id": "moonshotai-cn",
+ "name": "Moonshot AI (China)",
+ "env": ["MOONSHOT_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.moonshot.cn/v1",
+ "models": {
+ "kimi-k2.7-code": {
+ "id": "kimi-k2.7-code",
+ "name": "Kimi K2.7 Code",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.19
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "kimi-k2.6": {
+ "id": "kimi-k2.6",
+ "name": "Kimi K2.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.16
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "kimi-k2.7-code-highspeed": {
+ "id": "kimi-k2.7-code-highspeed",
+ "name": "Kimi K2.7 Code HighSpeed",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.9,
+ "output": 8,
+ "cache_read": 0.38
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "kimi-k3": {
+ "id": "kimi-k3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ }
+ }
+ },
+ "nano-gpt": {
+ "id": "nano-gpt",
+ "name": "NanoGPT",
+ "env": ["NANO_GPT_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://nano-gpt.com/api/v1",
+ "models": {
+ "mistralai/mistral-medium-3.5": {
+ "id": "mistralai/mistral-medium-3.5",
+ "name": "Mistral Medium 3.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 7.5,
+ "cache_read": 0.75
+ },
+ "limit": {
+ "context": 256000,
+ "output": 32768
+ }
+ },
+ "inclusionai/ling-3.0-flash-vl": {
+ "id": "inclusionai/ling-3.0-flash-vl",
+ "name": "Ling 3.0 Flash VL",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.18,
+ "cache_read": 0.012
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ }
+ }
+ },
+ "novita-ai": {
+ "id": "novita-ai",
+ "name": "NovitaAI",
+ "env": ["NOVITA_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.novita.ai/openai",
+ "models": {
+ "inclusionai/ring-2.6-1t": {
+ "id": "inclusionai/ring-2.6-1t",
+ "name": "Ring-2.6-1T",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "inclusionai/ling-2.6-1t": {
+ "id": "inclusionai/ling-2.6-1t",
+ "name": "Ling-2.6-1T",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "inclusionai/ling-2.6-flash": {
+ "id": "inclusionai/ling-2.6-flash",
+ "name": "Ling-2.6-flash",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.3,
+ "cache_read": 0.02
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ }
+ }
+ },
+ "nvidia": {
+ "id": "nvidia",
+ "name": "Nvidia",
+ "env": ["NVIDIA_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://integrate.api.nvidia.com/v1",
+ "models": {
+ "baai/bge-m3": {
+ "id": "baai/bge-m3",
+ "name": "BGE M3",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1024
+ }
+ },
+ "poolside/laguna-xs-2.1": {
+ "id": "poolside/laguna-xs-2.1",
+ "name": "Laguna XS 2.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 16384
+ }
+ },
+ "abacusai/dracarys-llama-3.1-70b-instruct": {
+ "id": "abacusai/dracarys-llama-3.1-70b-instruct",
+ "name": "dracarys-llama-3.1-70b-instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "z-ai/glm-5.3-flash": {
+ "id": "z-ai/glm-5.3-flash",
+ "name": "GLM-5.3-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "z-ai/glm-5.2": {
+ "id": "z-ai/glm-5.2",
+ "name": "GLM-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "z-ai/glm-5.3": {
+ "id": "z-ai/glm-5.3",
+ "name": "GLM-5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "thinkingmachines/inkling": {
+ "id": "thinkingmachines/inkling",
+ "name": "Inkling",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 16384
+ }
+ },
+ "black-forest-labs/flux_1-schnell": {
+ "id": "black-forest-labs/flux_1-schnell",
+ "name": "FLUX.1-schnell",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 77,
+ "output": 0
+ }
+ },
+ "black-forest-labs/flux.1-dev": {
+ "id": "black-forest-labs/flux.1-dev",
+ "name": "FLUX.1-dev",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 4096,
+ "output": 0
+ }
+ },
+ "black-forest-labs/flux_1-kontext-dev": {
+ "id": "black-forest-labs/flux_1-kontext-dev",
+ "name": "FLUX.1-Kontext-dev",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 40960,
+ "output": 40960
+ }
+ },
+ "black-forest-labs/flux_2-klein-4b": {
+ "id": "black-forest-labs/flux_2-klein-4b",
+ "name": "FLUX.2 Klein 4B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 40960,
+ "output": 40960
+ }
+ },
+ "meta/llama-guard-4-12b": {
+ "id": "meta/llama-guard-4-12b",
+ "name": "Llama Guard 4 12B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "meta/muse-glimmer-30b": {
+ "id": "meta/muse-glimmer-30b",
+ "name": "Muse Glimmer 30B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "meta/esmfold": {
+ "id": "meta/esmfold",
+ "name": "esmfold",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "meta/llama-3.3-70b-instruct": {
+ "id": "meta/llama-3.3-70b-instruct",
+ "name": "Llama 3.3 70b Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "meta/llama-3.2-90b-vision-instruct": {
+ "id": "meta/llama-3.2-90b-vision-instruct",
+ "name": "Llama-3.2-90B-Vision-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "meta/llama-4-maverick-17b-128e-instruct": {
+ "id": "meta/llama-4-maverick-17b-128e-instruct",
+ "name": "Llama 4 Maverick 17b 128e Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "meta/llama-3.1-8b-instruct": {
+ "id": "meta/llama-3.1-8b-instruct",
+ "name": "Llama 3.1 8B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 16000,
+ "output": 4096
+ }
+ },
+ "meta/llama-3.2-11b-vision-instruct": {
+ "id": "meta/llama-3.2-11b-vision-instruct",
+ "name": "Llama 3.2 11b Vision Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "meta/llama-3.2-1b-instruct": {
+ "id": "meta/llama-3.2-1b-instruct",
+ "name": "Llama 3.2 1b Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "meta/llama-3.2-3b-instruct": {
+ "id": "meta/llama-3.2-3b-instruct",
+ "name": "Llama 3.2 3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 32768,
+ "output": 32000
+ }
+ },
+ "meta/llama-3.1-70b-instruct": {
+ "id": "meta/llama-3.1-70b-instruct",
+ "name": "Llama 3.1 70b Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "meta/esm2-650m": {
+ "id": "meta/esm2-650m",
+ "name": "esm2-650m",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "upstage/solar-10.7b-instruct": {
+ "id": "upstage/solar-10.7b-instruct",
+ "name": "solar-10.7b-instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "bytedance/seed-oss-36b-instruct": {
+ "id": "bytedance/seed-oss-36b-instruct",
+ "name": "ByteDance-Seed/Seed-OSS-36B-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262000,
+ "output": 262000
+ }
+ },
+ "google/gemma-4-31b-it": {
+ "id": "google/gemma-4-31b-it",
+ "name": "Gemma-4-31B-IT",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 16384
+ }
+ },
+ "google/gemma-2-2b-it": {
+ "id": "google/gemma-2-2b-it",
+ "name": "Gemma 2 2b It",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "google/gemma-3-12b-it": {
+ "id": "google/gemma-3-12b-it",
+ "name": "Gemma 3 12B IT",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "google/gemma-3n-e2b-it": {
+ "id": "google/gemma-3n-e2b-it",
+ "name": "Gemma 3n E2b It",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "google/google-paligemma": {
+ "id": "google/google-paligemma",
+ "name": "paligemma",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "google/gemma-3n-e4b-it": {
+ "id": "google/gemma-3n-e4b-it",
+ "name": "Gemma 3n E4b It",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "google/gemma-3-4b-it": {
+ "id": "google/gemma-3-4b-it",
+ "name": "Gemma 3 4B IT",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "minimaxai/minimax-m2.7": {
+ "id": "minimaxai/minimax-m2.7",
+ "name": "MiniMax-M2.7",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "minimaxai/minimax-m3": {
+ "id": "minimaxai/minimax-m3",
+ "name": "MiniMax-M3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 16384
+ }
+ },
+ "deepseek-ai/deepseek-v4-flash-0731": {
+ "id": "deepseek-ai/deepseek-v4-flash-0731",
+ "name": "DeepSeek V4 Flash 0731",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/deepseek-v4-pro-0813": {
+ "id": "deepseek-ai/deepseek-v4-pro-0813",
+ "name": "DeepSeek V4 Pro 0813",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/deepseek-v4-pro": {
+ "id": "deepseek-ai/deepseek-v4-pro",
+ "name": "DeepSeek V4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.435,
+ "output": 0.87,
+ "cache_read": 0.003625
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 393216
+ }
+ },
+ "deepseek-ai/deepseek-v4-flash": {
+ "id": "deepseek-ai/deepseek-v4-flash",
+ "name": "DeepSeek V4 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.0028
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 393216
+ }
+ },
+ "stepfun-ai/step-3.5-flash": {
+ "id": "stepfun-ai/step-3.5-flash",
+ "name": "Step 3.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 16384
+ }
+ },
+ "stepfun-ai/step-3.7-flash": {
+ "id": "stepfun-ai/step-3.7-flash",
+ "name": "Step 3.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 16384
+ }
+ },
+ "mistralai/mistral-nemotron": {
+ "id": "mistralai/mistral-nemotron",
+ "name": "mistral-nemotron",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "mistralai/mistral-7b-instruct-v0.3": {
+ "id": "mistralai/mistral-7b-instruct-v0.3",
+ "name": "Mistral-7B-Instruct-v0.3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 65536,
+ "output": 65536
+ }
+ },
+ "mistralai/mistral-large-3-675b-instruct-2512": {
+ "id": "mistralai/mistral-large-3-675b-instruct-2512",
+ "name": "Mistral Large 3 675B Instruct 2512",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "mistralai/magistral-small-2506": {
+ "id": "mistralai/magistral-small-2506",
+ "name": "Magistral Small 2506",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 32768,
+ "output": 32768
+ }
+ },
+ "mistralai/mistral-small-4-119b-2603": {
+ "id": "mistralai/mistral-small-4-119b-2603",
+ "name": "mistral-small-4-119b-2603",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "mistralai/mixtral-8x7b-instruct": {
+ "id": "mistralai/mixtral-8x7b-instruct",
+ "name": "Mistral: Mixtral 8x7B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 32768,
+ "output": 16384
+ }
+ },
+ "mistralai/mistral-medium-3.5-128b": {
+ "id": "mistralai/mistral-medium-3.5-128b",
+ "name": "Mistral Medium 3.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "mistralai/ministral-14b-instruct-2512": {
+ "id": "mistralai/ministral-14b-instruct-2512",
+ "name": "Ministral 3 14B Instruct 2512",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 16384
+ }
+ },
+ "mistralai/mixtral-8x22b-instruct": {
+ "id": "mistralai/mixtral-8x22b-instruct",
+ "name": "Mistral: Mixtral 8x22B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 65536,
+ "output": 13108
+ }
+ },
+ "mistralai/mistral-medium-3-instruct": {
+ "id": "mistralai/mistral-medium-3-instruct",
+ "name": "Mistral Medium 3",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "moonshotai/kimi-k3": {
+ "id": "moonshotai/kimi-k3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "moonshotai/kimi-k2.6": {
+ "id": "moonshotai/kimi-k2.6",
+ "name": "Kimi K2.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "sarvamai/sarvam-m": {
+ "id": "sarvamai/sarvam-m",
+ "name": "sarvam-m",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "nvidia/nvidia-nemotron-nano-9b-v2": {
+ "id": "nvidia/nvidia-nemotron-nano-9b-v2",
+ "name": "nvidia-nemotron-nano-9b-v2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "nvidia/llama-3.1-nemotron-ultra-253b-v1": {
+ "id": "nvidia/llama-3.1-nemotron-ultra-253b-v1",
+ "name": "Llama 3.1 Nemotron Ultra 253B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "nvidia/sparsedrive": {
+ "id": "nvidia/sparsedrive",
+ "name": "sparsedrive",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "nvidia/nemotron-3-nano-30b-a3b": {
+ "id": "nvidia/nemotron-3-nano-30b-a3b",
+ "name": "nemotron-3-nano-30b-a3b",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "nvidia/nemotron-3.5-lightning-30b-a3b": {
+ "id": "nvidia/nemotron-3.5-lightning-30b-a3b",
+ "name": "Nemotron 3.5 Lightning 30B A3B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "nvidia/llama-nemotron-embed-vl-1b-v2": {
+ "id": "nvidia/llama-nemotron-embed-vl-1b-v2",
+ "name": "llama-nemotron-embed-vl-1b-v2",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 32768,
+ "output": 2048
+ }
+ },
+ "nvidia/nv-embedcode-7b-v1": {
+ "id": "nvidia/nv-embedcode-7b-v1",
+ "name": "nv-embedcode-7b-v1",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 32768,
+ "output": 2048
+ }
+ },
+ "nvidia/nemotron-voicechat": {
+ "id": "nvidia/nemotron-voicechat",
+ "name": "nemotron-voicechat",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "nvidia/bevformer": {
+ "id": "nvidia/bevformer",
+ "name": "bevformer",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "nvidia/cosmos-transfer1-7b": {
+ "id": "nvidia/cosmos-transfer1-7b",
+ "name": "cosmos-transfer1-7b",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["video"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 0,
+ "output": 4096
+ }
+ },
+ "nvidia/cosmos-predict1-5b": {
+ "id": "nvidia/cosmos-predict1-5b",
+ "name": "cosmos-predict1-5b",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["video"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 0,
+ "output": 4096
+ }
+ },
+ "nvidia/llama-3.1-nemotron-nano-vl-8b-v1": {
+ "id": "nvidia/llama-3.1-nemotron-nano-vl-8b-v1",
+ "name": "Llama 3.1 Nemotron Nano VL 8B v1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 32768,
+ "output": 16384
+ }
+ },
+ "nvidia/nemotron-3-super-120b-a12b": {
+ "id": "nvidia/nemotron-3-super-120b-a12b",
+ "name": "Nemotron 3 Super",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.8
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "nvidia/studiovoice": {
+ "id": "nvidia/studiovoice",
+ "name": "studiovoice",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "nvidia/nemotron-content-safety-reasoning-4b": {
+ "id": "nvidia/nemotron-content-safety-reasoning-4b",
+ "name": "nemotron-content-safety-reasoning-4b",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "nvidia/llama-3.1-nemotron-safety-guard-8b-v3": {
+ "id": "nvidia/llama-3.1-nemotron-safety-guard-8b-v3",
+ "name": "llama-3.1-nemotron-safety-guard-8b-v3",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "nvidia/nv-embed-v1": {
+ "id": "nvidia/nv-embed-v1",
+ "name": "nv-embed-v1",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 32768,
+ "output": 2048
+ }
+ },
+ "nvidia/synthetic-video-detector": {
+ "id": "nvidia/synthetic-video-detector",
+ "name": "synthetic-video-detector",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 0,
+ "output": 4096
+ }
+ },
+ "nvidia/cosmos-transfer2_5-2b": {
+ "id": "nvidia/cosmos-transfer2_5-2b",
+ "name": "cosmos-transfer2.5-2b",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["video"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 0,
+ "output": 4096
+ }
+ },
+ "nvidia/nemotron-3-ultra-550b-a55b": {
+ "id": "nvidia/nemotron-3-ultra-550b-a55b",
+ "name": "Nemotron 3 Ultra 550B A55B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 2.5,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning": {
+ "id": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
+ "name": "Nemotron 3 Nano Omni",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": -1,
+ "max": 32768
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 65536
+ }
+ },
+ "nvidia/llama-3.1-nemotron-nano-8b-v1": {
+ "id": "nvidia/llama-3.1-nemotron-nano-8b-v1",
+ "name": "Llama 3.1 Nemotron Nano 8B v1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "nvidia/active-speaker-detection": {
+ "id": "nvidia/active-speaker-detection",
+ "name": "Active Speaker Detection",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 0,
+ "output": 4096
+ }
+ },
+ "nvidia/streampetr": {
+ "id": "nvidia/streampetr",
+ "name": "streampetr",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "nvidia/llama-nemotron-rerank-vl-1b-v2": {
+ "id": "nvidia/llama-nemotron-rerank-vl-1b-v2",
+ "name": "llama-nemotron-rerank-vl-1b-v2",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "nvidia/nemotron-mini-4b-instruct": {
+ "id": "nvidia/nemotron-mini-4b-instruct",
+ "name": "nemotron-mini-4b-instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "nvidia/cosmos-reason2-8b": {
+ "id": "nvidia/cosmos-reason2-8b",
+ "name": "Cosmos Reason2 8B",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "nvidia/nemotron-3-content-safety": {
+ "id": "nvidia/nemotron-3-content-safety",
+ "name": "nemotron-3-content-safety",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "nvidia/llama-3.3-nemotron-super-49b-v1": {
+ "id": "nvidia/llama-3.3-nemotron-super-49b-v1",
+ "name": "Llama 3.3 Nemotron Super 49B v1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "nvidia/magpie-tts-zeroshot": {
+ "id": "nvidia/magpie-tts-zeroshot",
+ "name": "magpie-tts-zeroshot",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["audio"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 0,
+ "output": 4096
+ }
+ },
+ "nvidia/riva-translate-4b-instruct-v1.1": {
+ "id": "nvidia/riva-translate-4b-instruct-v1.1",
+ "name": "riva-translate-4b-instruct-v1_1",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "nvidia/nemotron-nano-12b-v2-vl": {
+ "id": "nvidia/nemotron-nano-12b-v2-vl",
+ "name": "Nemotron Nano 12B v2 VL",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "nvidia/llama-3.3-nemotron-super-49b-v1.5": {
+ "id": "nvidia/llama-3.3-nemotron-super-49b-v1.5",
+ "name": "Llama 3.3 Nemotron Super 49B v1.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "nvidia/llama-3_2-nemoretriever-300m-embed-v1": {
+ "id": "nvidia/llama-3_2-nemoretriever-300m-embed-v1",
+ "name": "llama-3_2-nemoretriever-300m-embed-v1",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 32768,
+ "output": 2048
+ }
+ },
+ "nvidia/gliner-pii": {
+ "id": "nvidia/gliner-pii",
+ "name": "gliner-pii",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "nvidia/usdcode": {
+ "id": "nvidia/usdcode",
+ "name": "usdcode",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "nvidia/usdvalidate": {
+ "id": "nvidia/usdvalidate",
+ "name": "usdvalidate",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 0,
+ "output": 4096
+ }
+ },
+ "nvidia/llama-3.1-nemotron-70b-instruct": {
+ "id": "nvidia/llama-3.1-nemotron-70b-instruct",
+ "name": "Llama 3.1 Nemotron 70B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "nvidia/rerank-qa-mistral-4b": {
+ "id": "nvidia/rerank-qa-mistral-4b",
+ "name": "rerank-qa-mistral-4b",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "qwen/qwen-image-edit": {
+ "id": "qwen/qwen-image-edit",
+ "name": "Qwen Image Edit",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "qwen/qwen3-coder-480b-a35b-instruct": {
+ "id": "qwen/qwen3-coder-480b-a35b-instruct",
+ "name": "Qwen3 Coder 480B A35B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 66536
+ }
+ },
+ "qwen/qwen3.5-122b-a10b": {
+ "id": "qwen/qwen3.5-122b-a10b",
+ "name": "Qwen3.5 122B-A10B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen/qwen3-next-80b-a3b-instruct": {
+ "id": "qwen/qwen3-next-80b-a3b-instruct",
+ "name": "Qwen3-Next-80B-A3B-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 16384
+ }
+ },
+ "qwen/qwen3.5-397b-a17b": {
+ "id": "qwen/qwen3.5-397b-a17b",
+ "name": "Qwen3.5-397B-A17B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 8192
+ }
+ },
+ "qwen/qwen2.5-coder-32b-instruct": {
+ "id": "qwen/qwen2.5-coder-32b-instruct",
+ "name": "Qwen2.5 Coder 32b Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "qwen/qwen-image": {
+ "id": "qwen/qwen-image",
+ "name": "Qwen Image",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/whisper-large-v3": {
+ "id": "openai/whisper-large-v3",
+ "name": "Whisper Large v3",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 0,
+ "output": 4096
+ }
+ },
+ "openai/gpt-oss-20b": {
+ "id": "openai/gpt-oss-20b",
+ "name": "GPT OSS 20B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "microsoft/phi-4-mini-instruct": {
+ "id": "microsoft/phi-4-mini-instruct",
+ "name": "Phi-4-Mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "microsoft/phi-4-multimodal-instruct": {
+ "id": "microsoft/phi-4-multimodal-instruct",
+ "name": "Phi 4 Multimodal",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ }
+ }
+ },
+ "openai": {
+ "id": "openai",
+ "name": "OpenAI",
+ "env": ["OPENAI_API_KEY"],
+ "npm": "@ai-sdk/openai",
+ "models": {
+ "chatgpt-image-latest": {
+ "id": "chatgpt-image-latest",
+ "name": "chatgpt-image-latest",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "gpt-5.4": {
+ "id": "gpt-5.4",
+ "name": "GPT-5.4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 15,
+ "cache_read": 0.25,
+ "tiers": [
+ {
+ "input": 5,
+ "output": 22.5,
+ "cache_read": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "gpt-5.4-pro": {
+ "id": "gpt-5.4-pro",
+ "name": "GPT-5.4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 30,
+ "output": 180,
+ "tiers": [
+ {
+ "input": 60,
+ "output": 270,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "gpt-3.5-turbo": {
+ "id": "gpt-3.5-turbo",
+ "name": "GPT-3.5-turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.5,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 16385,
+ "output": 4096
+ }
+ },
+ "gpt-5.5-pro": {
+ "id": "gpt-5.5-pro",
+ "name": "GPT-5.5 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 30,
+ "output": 180,
+ "tiers": [
+ {
+ "input": 60,
+ "output": 270,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "text-embedding-3-small": {
+ "id": "text-embedding-3-small",
+ "name": "text-embedding-3-small",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.02,
+ "output": 0
+ },
+ "limit": {
+ "context": 8191,
+ "output": 1536
+ }
+ },
+ "gpt-5.4-nano": {
+ "id": "gpt-5.4-nano",
+ "name": "GPT-5.4 nano",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.25,
+ "cache_read": 0.02
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-realtime-2.1": {
+ "id": "gpt-realtime-2.1",
+ "name": "GPT-Realtime-2.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "audio", "image"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 24,
+ "cache_read": 0.4
+ },
+ "limit": {
+ "context": 128000,
+ "output": 32000
+ }
+ },
+ "gpt-4o-2024-05-13": {
+ "id": "gpt-4o-2024-05-13",
+ "name": "GPT-4o (2024-05-13)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 15
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "gpt-4o": {
+ "id": "gpt-4o",
+ "name": "GPT-4o",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "gpt-5-mini": {
+ "id": "gpt-5-mini",
+ "name": "GPT-5 Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-image-2": {
+ "id": "gpt-image-2",
+ "name": "gpt-image-2",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "gpt-5.2-pro": {
+ "id": "gpt-5.2-pro",
+ "name": "GPT-5.2 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 21,
+ "output": 168
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "o4-mini": {
+ "id": "o4-mini",
+ "name": "o4-mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 4.4,
+ "cache_read": 0.275
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "o3-mini": {
+ "id": "o3-mini",
+ "name": "o3-mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 4.4,
+ "cache_read": 0.55
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "text-embedding-ada-002": {
+ "id": "text-embedding-ada-002",
+ "name": "text-embedding-ada-002",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "gpt-4": {
+ "id": "gpt-4",
+ "name": "GPT-4",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 30,
+ "output": 60
+ },
+ "limit": {
+ "context": 8192,
+ "output": 8192
+ }
+ },
+ "gpt-5.3-codex": {
+ "id": "gpt-5.3-codex",
+ "name": "GPT-5.3 Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-4.1-nano": {
+ "id": "gpt-4.1-nano",
+ "name": "GPT-4.1 nano",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "gpt-5-nano": {
+ "id": "gpt-5-nano",
+ "name": "GPT-5 Nano",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.4,
+ "cache_read": 0.005
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-5.6": {
+ "id": "gpt-5.6",
+ "name": "GPT-5.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tiers": [
+ {
+ "input": 8,
+ "output": 30,
+ "cache_read": 0.8,
+ "cache_write": 10,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "gpt-5.2-chat-latest": {
+ "id": "gpt-5.2-chat-latest",
+ "name": "GPT-5.2 Chat",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "o1": {
+ "id": "o1",
+ "name": "o1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 60,
+ "cache_read": 7.5
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "gpt-5-pro": {
+ "id": "gpt-5-pro",
+ "name": "GPT-5 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 120
+ },
+ "limit": {
+ "context": 400000,
+ "output": 272000
+ }
+ },
+ "gpt-5.3-codex-spark": {
+ "id": "gpt-5.3-codex-spark",
+ "name": "GPT-5.3 Codex Spark",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 128000,
+ "output": 32000
+ }
+ },
+ "gpt-6.1-sol": {
+ "id": "gpt-6.1-sol",
+ "name": "GPT-6.1 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.1,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.2,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "text-embedding-3-large": {
+ "id": "text-embedding-3-large",
+ "name": "text-embedding-3-large",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.13,
+ "output": 0
+ },
+ "limit": {
+ "context": 8191,
+ "output": 3072
+ }
+ },
+ "gpt-4o-2024-08-06": {
+ "id": "gpt-4o-2024-08-06",
+ "name": "GPT-4o (2024-08-06)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "gpt-6-astra": {
+ "id": "gpt-6-astra",
+ "name": "GPT-6 Astra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tiers": [
+ {
+ "input": 20,
+ "output": 75,
+ "cache_read": 2,
+ "cache_write": 25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "gpt-5.1": {
+ "id": "gpt-5.1",
+ "name": "GPT-5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-4o-mini": {
+ "id": "gpt-4o-mini",
+ "name": "GPT-4o mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "o3-pro": {
+ "id": "o3-pro",
+ "name": "o3-pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 20,
+ "output": 80
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "gpt-image-1": {
+ "id": "gpt-image-1",
+ "name": "gpt-image-1",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "gpt-daybreak-blue-latest": {
+ "id": "gpt-daybreak-blue-latest",
+ "name": "Daybreak Blue",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tiers": [
+ {
+ "input": 8,
+ "output": 30,
+ "cache_read": 0.8,
+ "cache_write": 10,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "gpt-5.4-mini": {
+ "id": "gpt-5.4-mini",
+ "name": "GPT-5.4 mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 4.5,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-5.6-luna": {
+ "id": "gpt-5.6-luna",
+ "name": "GPT-5.6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.2,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tiers": [
+ {
+ "input": 0.4,
+ "output": 1.8,
+ "cache_read": 0.04,
+ "cache_write": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "gpt-5.2": {
+ "id": "gpt-5.2",
+ "name": "GPT-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-5.5": {
+ "id": "gpt-5.5",
+ "name": "GPT-5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 45,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "gpt-4.1": {
+ "id": "gpt-4.1",
+ "name": "GPT-4.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "gpt-4o-2024-11-20": {
+ "id": "gpt-4o-2024-11-20",
+ "name": "GPT-4o (2024-11-20)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "gpt-4.1-mini": {
+ "id": "gpt-4.1-mini",
+ "name": "GPT-4.1 mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 1.6,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "gpt-6-luna": {
+ "id": "gpt-6-luna",
+ "name": "GPT-6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.5,
+ "cache_read": 0.01,
+ "cache_write": 0.125,
+ "tiers": [
+ {
+ "input": 0.2,
+ "output": 0.75,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "gpt-5.3-chat-latest": {
+ "id": "gpt-5.3-chat-latest",
+ "name": "GPT-5.3 Chat (latest)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "gpt-image-1-mini": {
+ "id": "gpt-image-1-mini",
+ "name": "gpt-image-1-mini",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "gpt-image-1.5": {
+ "id": "gpt-image-1.5",
+ "name": "gpt-image-1.5",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "gpt-5.6-terra": {
+ "id": "gpt-5.6-terra",
+ "name": "GPT-5.6 Terra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "gpt-4-turbo": {
+ "id": "gpt-4-turbo",
+ "name": "GPT-4 Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 30
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "gpt-daybreak-red-latest": {
+ "id": "gpt-daybreak-red-latest",
+ "name": "Daybreak Red",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 12.5,
+ "output": 75,
+ "cache_read": 1.25,
+ "cache_write": 15.625
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "o3": {
+ "id": "o3",
+ "name": "o3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "gpt-5": {
+ "id": "gpt-5",
+ "name": "GPT-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "gpt-5.6-sol": {
+ "id": "gpt-5.6-sol",
+ "name": "GPT-5.6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tiers": [
+ {
+ "input": 8,
+ "output": 30,
+ "cache_read": 0.8,
+ "cache_write": 10,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "gpt-6-sol": {
+ "id": "gpt-6-sol",
+ "name": "GPT-6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "o1-pro": {
+ "id": "o1-pro",
+ "name": "o1-pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 150,
+ "output": 600
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ }
+ }
+ },
+ "opencode": {
+ "id": "opencode",
+ "name": "OpenCode Zen",
+ "env": ["OPENCODE_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://opencode.ai/zen/v1",
+ "models": {
+ "ling-3.0-flash-fin-free": {
+ "id": "ling-3.0-flash-fin-free",
+ "name": "Ling 3.0 Flash Fin Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "gpt-5.4": {
+ "id": "gpt-5.4",
+ "name": "GPT-5.4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 15,
+ "cache_read": 0.25,
+ "tiers": [
+ {
+ "input": 5,
+ "output": 22.5,
+ "cache_read": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "qwen3.6-plus-free": {
+ "id": "qwen3.6-plus-free",
+ "name": "Qwen3.6 Plus Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "claude-haiku-4-5": {
+ "id": "claude-haiku-4-5",
+ "name": "Claude Haiku 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 5,
+ "cache_read": 0.1,
+ "cache_write": 1.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "gpt-5.4-pro": {
+ "id": "gpt-5.4-pro",
+ "name": "GPT-5.4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 30,
+ "output": 180,
+ "cache_read": 30
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "mimo-v2-pro-free": {
+ "id": "mimo-v2-pro-free",
+ "name": "MiMo V2 Pro Free",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 64000
+ }
+ },
+ "muse-spark-1.2-contributor-free": {
+ "id": "muse-spark-1.2-contributor-free",
+ "name": "Muse Spark 1.2 Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "muse-spark-1.3": {
+ "id": "muse-spark-1.3",
+ "name": "Muse Spark 1.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 4.25,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "glm-5-free": {
+ "id": "glm-5-free",
+ "name": "GLM-5 Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "trinity-large-preview-free": {
+ "id": "trinity-large-preview-free",
+ "name": "Trinity Large Preview",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "gpt-5.5-pro": {
+ "id": "gpt-5.5-pro",
+ "name": "GPT-5.5 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 30,
+ "output": 180,
+ "cache_read": 30
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "grok-4.7": {
+ "id": "grok-4.7",
+ "name": "Grok 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "longcat-2.5-preview-free": {
+ "id": "longcat-2.5-preview-free",
+ "name": "LongCat 2.5 Preview Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "gpt-5.4-nano": {
+ "id": "gpt-5.4-nano",
+ "name": "GPT-5.4 Nano",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.25,
+ "cache_read": 0.02
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "gpt-5.2-codex": {
+ "id": "gpt-5.2-codex",
+ "name": "GPT-5.2 Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "ling-3.0-tiny-free": {
+ "id": "ling-3.0-tiny-free",
+ "name": "Ling-3.0-tiny Free",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "gpt-5.1-codex": {
+ "id": "gpt-5.1-codex",
+ "name": "GPT-5.1 Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.07,
+ "output": 8.5,
+ "cache_read": 0.107
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "glm-5.3-flash": {
+ "id": "glm-5.3-flash",
+ "name": "GLM-5.3-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "kimi-k2.5-free": {
+ "id": "kimi-k2.5-free",
+ "name": "Kimi K2.5 Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "glm-4.7-free": {
+ "id": "glm-4.7-free",
+ "name": "GLM-4.7 Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "glm-4.6": {
+ "id": "glm-4.6",
+ "name": "GLM-4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "laguna-s-2.1-free": {
+ "id": "laguna-s-2.1-free",
+ "name": "Laguna S 2.1 Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 32000
+ }
+ },
+ "qwen3.8-max": {
+ "id": "qwen3.8-max",
+ "name": "Qwen3.8 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "kimi-k3": {
+ "id": "kimi-k3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "gpt-5-codex": {
+ "id": "gpt-5-codex",
+ "name": "GPT-5 Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.07,
+ "output": 8.5,
+ "cache_read": 0.107
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "qwen3-coder": {
+ "id": "qwen3-coder",
+ "name": "Qwen3 Coder",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.45,
+ "output": 1.8
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "minimax-m3-free": {
+ "id": "minimax-m3-free",
+ "name": "MiniMax-M3 Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 32000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "qwen3.5-plus": {
+ "id": "qwen3.5-plus",
+ "name": "Qwen3.5 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.2,
+ "cache_read": 0.02,
+ "cache_write": 0.25
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "claude-opus-4-5": {
+ "id": "claude-opus-4-5",
+ "name": "Claude Opus 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "glm-5": {
+ "id": "glm-5",
+ "name": "GLM-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 3.2,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "deepseek-v4.1-flash": {
+ "id": "deepseek-v4.1-flash",
+ "name": "DeepSeek V4.1 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.006
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "gpt-5.3-codex": {
+ "id": "gpt-5.3-codex",
+ "name": "GPT-5.3 Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "minimax-m2.5": {
+ "id": "minimax-m2.5",
+ "name": "MiniMax-M2.5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "gpt-5-nano": {
+ "id": "gpt-5-nano",
+ "name": "GPT-5 Nano",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.4,
+ "cache_read": 0.005
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "deepseek-v4-flash-vision-exp": {
+ "id": "deepseek-v4-flash-vision-exp",
+ "name": "DeepSeek V4 Flash Vision Exp",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.028
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "kimi-k2.6": {
+ "id": "kimi-k2.6",
+ "name": "Kimi K2.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.16
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "claude-sonnet-4-5": {
+ "id": "claude-sonnet-4-5",
+ "name": "Claude Sonnet 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75,
+ "tiers": [
+ {
+ "input": 6,
+ "output": 22.5,
+ "cache_read": 0.6,
+ "cache_write": 7.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "claude-opus-5-5": {
+ "id": "claude-opus-5-5",
+ "name": "Claude Opus 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.2,
+ "cache_write": 5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "claude-fable-5-1": {
+ "id": "claude-fable-5-1",
+ "name": "Claude Fable 5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 0.25,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "gemini-3.6-flash": {
+ "id": "gemini-3.6-flash",
+ "name": "Gemini 3.6 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 7.5,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ },
+ "provider": {
+ "npm": "@ai-sdk/google"
+ }
+ },
+ "kimi-k2-thinking": {
+ "id": "kimi-k2-thinking",
+ "name": "Kimi K2 Thinking",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2.5,
+ "cache_read": 0.4
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "minimax-m2.5-free": {
+ "id": "minimax-m2.5-free",
+ "name": "MiniMax-M2.5 Free",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "gpt-5.3-codex-spark": {
+ "id": "gpt-5.3-codex-spark",
+ "name": "GPT-5.3 Codex Spark",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "gpt-6.1-sol": {
+ "id": "gpt-6.1-sol",
+ "name": "GPT-6.1 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.1,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.2,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "gemini-3.5-flash-lite": {
+ "id": "gemini-3.5-flash-lite",
+ "name": "Gemini 3.5 Flash Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ },
+ "provider": {
+ "npm": "@ai-sdk/google"
+ }
+ },
+ "claude-opus-4-1": {
+ "id": "claude-opus-4-1",
+ "name": "Claude Opus 4.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 75,
+ "cache_read": 1.5,
+ "cache_write": 18.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 32000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "gpt-6-astra": {
+ "id": "gpt-6-astra",
+ "name": "GPT-6 Astra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tiers": [
+ {
+ "input": 20,
+ "output": 75,
+ "cache_read": 2,
+ "cache_write": 25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "grok-4.5": {
+ "id": "grok-4.5",
+ "name": "Grok 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.3,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 0.6,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "ring-2.6-1t-free": {
+ "id": "ring-2.6-1t-free",
+ "name": "Ring 2.6 1T Free",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262000,
+ "output": 66000
+ }
+ },
+ "kimi-k2.5": {
+ "id": "kimi-k2.5",
+ "name": "Kimi K2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3,
+ "cache_read": 0.08
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "longcat-2.0-free": {
+ "id": "longcat-2.0-free",
+ "name": "LongCat-2.0 Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "gpt-5.1": {
+ "id": "gpt-5.1",
+ "name": "GPT-5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.07,
+ "output": 8.5,
+ "cache_read": 0.107
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "claude-opus-5": {
+ "id": "claude-opus-5",
+ "name": "Claude Opus 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "claude-3-5-haiku": {
+ "id": "claude-3-5-haiku",
+ "name": "Claude Haiku 3.5",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 4,
+ "cache_read": 0.08,
+ "cache_write": 1
+ },
+ "limit": {
+ "context": 200000,
+ "output": 8192
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "hy3-preview-free": {
+ "id": "hy3-preview-free",
+ "name": "Hy3 preview Free",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 64000
+ }
+ },
+ "gemini-3-flash": {
+ "id": "gemini-3-flash",
+ "name": "Gemini 3 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ },
+ "provider": {
+ "npm": "@ai-sdk/google"
+ }
+ },
+ "minimax-m2.7": {
+ "id": "minimax-m2.7",
+ "name": "MiniMax-M2.7",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "gemini-3.5-flash": {
+ "id": "gemini-3.5-flash",
+ "name": "Gemini 3.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 9,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ },
+ "provider": {
+ "npm": "@ai-sdk/google"
+ }
+ },
+ "space-bunny-free": {
+ "id": "space-bunny-free",
+ "name": "Space Bunny Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 524288
+ }
+ },
+ "claude-fable-5": {
+ "id": "claude-fable-5",
+ "name": "Claude Fable 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "nemotron-3-super-free": {
+ "id": "nemotron-3-super-free",
+ "name": "Nemotron 3 Super Free",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 204800,
+ "output": 128000
+ }
+ },
+ "minimax-m2.1-free": {
+ "id": "minimax-m2.1-free",
+ "name": "MiniMax-M2.1 Free",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "mimo-v2.6-flash-free": {
+ "id": "mimo-v2.6-flash-free",
+ "name": "MiMo-V2.6-Flash Free",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 32000
+ }
+ },
+ "gemini-3-pro": {
+ "id": "gemini-3-pro",
+ "name": "Gemini 3 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ },
+ "provider": {
+ "npm": "@ai-sdk/google"
+ }
+ },
+ "nemotron-3-ultra-free": {
+ "id": "nemotron-3-ultra-free",
+ "name": "Nemotron 3 Ultra Free",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "claude-sonnet-4": {
+ "id": "claude-sonnet-4",
+ "name": "Claude Sonnet 4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75,
+ "tiers": [
+ {
+ "input": 6,
+ "output": 22.5,
+ "cache_read": 0.6,
+ "cache_write": 7.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "muse-spark-1.2": {
+ "id": "muse-spark-1.2",
+ "name": "Muse Spark 1.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 4.25,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "gpt-5.4-mini": {
+ "id": "gpt-5.4-mini",
+ "name": "GPT-5.4 Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 4.5,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "glm-4.7": {
+ "id": "glm-4.7",
+ "name": "GLM-4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "minimax-m3": {
+ "id": "minimax-m3",
+ "name": "MiniMax-M3",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 512000,
+ "output": 128000
+ }
+ },
+ "gpt-5.6-luna": {
+ "id": "gpt-5.6-luna",
+ "name": "GPT-5.6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.2,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tiers": [
+ {
+ "input": 0.4,
+ "output": 1.8,
+ "cache_read": 0.04,
+ "cache_write": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "qwen3.8-flash": {
+ "id": "qwen3.8-flash",
+ "name": "Qwen3.8 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.47,
+ "cache_read": 0.016,
+ "cache_write": 0.2
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "gpt-5.1-codex-max": {
+ "id": "gpt-5.1-codex-max",
+ "name": "GPT-5.1 Codex Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "mimo-v2.5-free": {
+ "id": "mimo-v2.5-free",
+ "name": "MiMo V2.5 Free",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 32000
+ }
+ },
+ "grok-code": {
+ "id": "grok-code",
+ "name": "Grok Code Fast 1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ }
+ },
+ "gpt-5.2": {
+ "id": "gpt-5.2",
+ "name": "GPT-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "claude-opus-4-8": {
+ "id": "claude-opus-4-8",
+ "name": "Claude Opus 4.8",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "gpt-5.5": {
+ "id": "gpt-5.5",
+ "name": "GPT-5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 45,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "ling-2.6-flash-free": {
+ "id": "ling-2.6-flash-free",
+ "name": "Ling 2.6 Flash Free",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262100,
+ "output": 32800
+ }
+ },
+ "claude-sonnet-5": {
+ "id": "claude-sonnet-5",
+ "name": "Claude Sonnet 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "deepseek-v4-flash-free": {
+ "id": "deepseek-v4-flash-free",
+ "name": "DeepSeek V4 Flash Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 128000
+ }
+ },
+ "hy3-free": {
+ "id": "hy3-free",
+ "name": "Hy3 Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 190000,
+ "output": 64000
+ }
+ },
+ "nemotron-3.5-lightning-free": {
+ "id": "nemotron-3.5-lightning-free",
+ "name": "Nemotron 3.5 Lightning Free",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "claude-opus-4-6": {
+ "id": "claude-opus-4-6",
+ "name": "Claude Opus 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "gemini-3.7-flash": {
+ "id": "gemini-3.7-flash",
+ "name": "Gemini 3.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 7.5,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ },
+ "provider": {
+ "npm": "@ai-sdk/google"
+ }
+ },
+ "glm-5.2": {
+ "id": "glm-5.2",
+ "name": "GLM-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "kimi-k2": {
+ "id": "kimi-k2",
+ "name": "Kimi K2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2.5,
+ "cache_read": 0.4
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "glm-5.1": {
+ "id": "glm-5.1",
+ "name": "GLM-5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "mimo-v2-omni-free": {
+ "id": "mimo-v2-omni-free",
+ "name": "MiMo V2 Omni Free",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 64000
+ }
+ },
+ "grok-build-0.1": {
+ "id": "grok-build-0.1",
+ "name": "Grok Build 0.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 2,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "ling-3.0-flash-free": {
+ "id": "ling-3.0-flash-free",
+ "name": "Ling-3.0-flash Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "gemini-3.8-flash": {
+ "id": "gemini-3.8-flash",
+ "name": "Gemini 3.8 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 7.5,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ },
+ "provider": {
+ "npm": "@ai-sdk/google"
+ }
+ },
+ "north-mini-code-free": {
+ "id": "north-mini-code-free",
+ "name": "North Mini Code Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 64000
+ }
+ },
+ "gpt-6-luna": {
+ "id": "gpt-6-luna",
+ "name": "GPT-6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.5,
+ "cache_read": 0.01,
+ "cache_write": 0.125,
+ "tiers": [
+ {
+ "input": 0.2,
+ "output": 0.75,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "deepseek-v4-pro": {
+ "id": "deepseek-v4-pro",
+ "name": "DeepSeek V4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.74,
+ "output": 3.84,
+ "cache_read": 0.145
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "claude-sonnet-4-6": {
+ "id": "claude-sonnet-4-6",
+ "name": "Claude Sonnet 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "big-pickle": {
+ "id": "big-pickle",
+ "name": "Big Pickle",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 32000
+ }
+ },
+ "claude-sonnet-5-5": {
+ "id": "claude-sonnet-5-5",
+ "name": "Claude Sonnet 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "qwen3.6-plus": {
+ "id": "qwen3.6-plus",
+ "name": "Qwen3.6 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05,
+ "cache_write": 0.625
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "gpt-5.6-terra": {
+ "id": "gpt-5.6-terra",
+ "name": "GPT-5.6 Terra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 15,
+ "cache_read": 0.25,
+ "cache_write": 3.125,
+ "tiers": [
+ {
+ "input": 5,
+ "output": 22.5,
+ "cache_read": 0.5,
+ "cache_write": 6.25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "mimo-v2-flash-free": {
+ "id": "mimo-v2-flash-free",
+ "name": "MiMo V2 Flash Free",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "gpt-5.1-codex-mini": {
+ "id": "gpt-5.1-codex-mini",
+ "name": "GPT-5.1 Codex Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "glm-5.3": {
+ "id": "glm-5.3",
+ "name": "GLM-5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "claude-opus-4-7": {
+ "id": "claude-opus-4-7",
+ "name": "Claude Opus 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "kimi-k2.7-code": {
+ "id": "kimi-k2.7-code",
+ "name": "Kimi K2.7 Code",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.19
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "gpt-5": {
+ "id": "gpt-5",
+ "name": "GPT-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.07,
+ "output": 8.5,
+ "cache_read": 0.107
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "grok-4.6": {
+ "id": "grok-4.6",
+ "name": "Grok 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "gemini-3.1-pro": {
+ "id": "gemini-3.1-pro",
+ "name": "Gemini 3.1 Pro Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ },
+ "provider": {
+ "npm": "@ai-sdk/google"
+ }
+ },
+ "minimax-m2.1": {
+ "id": "minimax-m2.1",
+ "name": "MiniMax-M2.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "gpt-5.6-sol": {
+ "id": "gpt-5.6-sol",
+ "name": "GPT-5.6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tiers": [
+ {
+ "input": 8,
+ "output": 30,
+ "cache_read": 0.8,
+ "cache_write": 10,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "x-preview-f-free": {
+ "id": "x-preview-f-free",
+ "name": "Ox Alpha Free (Unlimited)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "muse-spark-1.3-contributor-free": {
+ "id": "muse-spark-1.3-contributor-free",
+ "name": "Muse Spark 1.3 Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "deepseek-v4-flash": {
+ "id": "deepseek-v4-flash",
+ "name": "DeepSeek V4 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.028
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "gpt-6-sol": {
+ "id": "gpt-6-sol",
+ "name": "GPT-6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ }
+ }
+ },
+ "opencode-go": {
+ "id": "opencode-go",
+ "name": "OpenCode Go",
+ "env": ["OPENCODE_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://opencode.ai/zen/go/v1",
+ "models": {
+ "mimo-v2.6-pro": {
+ "id": "mimo-v2.6-pro",
+ "name": "MiMo-V2.6-Pro",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.435,
+ "output": 0.87,
+ "cache_read": 0.003625
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "qwen3.7-max": {
+ "id": "qwen3.7-max",
+ "name": "Qwen3.7 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 262144
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 7.5,
+ "cache_read": 0.5,
+ "cache_write": 3.125
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "mimo-v2.5": {
+ "id": "mimo-v2.5",
+ "name": "MiMo V2.5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.0028
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "grok-4.7": {
+ "id": "grok-4.7",
+ "name": "Grok 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "longcat-2.5-preview-free": {
+ "id": "longcat-2.5-preview-free",
+ "name": "LongCat 2.5 Preview Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "glm-5.3-flash": {
+ "id": "glm-5.3-flash",
+ "name": "GLM-5.3-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qwen3.8-max": {
+ "id": "qwen3.8-max",
+ "name": "Qwen3.8 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ },
+ {
+ "type": "budget_tokens",
+ "max": 262144
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "kimi-k3": {
+ "id": "kimi-k3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "deepseek-v4.1-flash": {
+ "id": "deepseek-v4.1-flash",
+ "name": "DeepSeek V4.1 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.003
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "deepseek-v4-flash-vision-exp": {
+ "id": "deepseek-v4-flash-vision-exp",
+ "name": "DeepSeek V4 Flash Vision Exp",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.003
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "kimi-k2.6": {
+ "id": "kimi-k2.6",
+ "name": "Kimi K2.6",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.16
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "longcat-2.0": {
+ "id": "longcat-2.0",
+ "name": "LongCat-2.0",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.006
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "grok-4.5": {
+ "id": "grok-4.5",
+ "name": "Grok 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.3,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 0.6,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "minimax-m2.7": {
+ "id": "minimax-m2.7",
+ "name": "MiniMax-M2.7",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "space-bunny-free": {
+ "id": "space-bunny-free",
+ "name": "Space Bunny Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 524288
+ }
+ },
+ "mimo-v2.5-pro": {
+ "id": "mimo-v2.5-pro",
+ "name": "MiMo V2.5 Pro",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.435,
+ "output": 0.87,
+ "cache_read": 0.003625
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 128000
+ }
+ },
+ "mimo-v2.6-flash": {
+ "id": "mimo-v2.6-flash",
+ "name": "MiMo-V2.6-Flash",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.0028
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "minimax-m3": {
+ "id": "minimax-m3",
+ "name": "MiniMax-M3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06,
+ "tiers": [
+ {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.12,
+ "tier": {
+ "type": "context",
+ "size": 512000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "gpt-5.6-luna": {
+ "id": "gpt-5.6-luna",
+ "name": "GPT-5.6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.2,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tiers": [
+ {
+ "input": 0.4,
+ "output": 1.8,
+ "cache_read": 0.04,
+ "cache_write": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "qwen3.8-flash": {
+ "id": "qwen3.8-flash",
+ "name": "Qwen3.8 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.47,
+ "cache_read": 0.016,
+ "cache_write": 0.2
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/anthropic"
+ }
+ },
+ "glm-5.2": {
+ "id": "glm-5.2",
+ "name": "GLM-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "hy3": {
+ "id": "hy3",
+ "name": "Hy3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.58,
+ "cache_read": 0.035
+ },
+ "limit": {
+ "context": 256000,
+ "output": 128000
+ }
+ },
+ "muse-spark-1.2-contributor": {
+ "id": "muse-spark-1.2-contributor",
+ "name": "Muse Spark 1.2 Contributor",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.2,
+ "cache_read": 0.002
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "gpt-6-luna": {
+ "id": "gpt-6-luna",
+ "name": "GPT-6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.5,
+ "cache_read": 0.01,
+ "cache_write": 0.125,
+ "tiers": [
+ {
+ "input": 0.2,
+ "output": 0.75,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "deepseek-v4-pro": {
+ "id": "deepseek-v4-pro",
+ "name": "DeepSeek V4 Pro (New)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.66,
+ "output": 1.98,
+ "cache_read": 0.022
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "qwen3.6-plus": {
+ "id": "qwen3.6-plus",
+ "name": "Qwen3.6 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05,
+ "cache_write": 0.625,
+ "tiers": [
+ {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "hy4-preview": {
+ "id": "hy4-preview",
+ "name": "Hy4 preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.834,
+ "output": 2.501,
+ "cache_read": 0.042
+ },
+ "limit": {
+ "context": 1024000,
+ "output": 64000
+ }
+ },
+ "muse-spark-1.3-contributor": {
+ "id": "muse-spark-1.3-contributor",
+ "name": "Muse Spark 1.3 Contributor",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.2,
+ "cache_read": 0.002
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "glm-5.3": {
+ "id": "glm-5.3",
+ "name": "GLM-5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "kimi-k2.7-code": {
+ "id": "kimi-k2.7-code",
+ "name": "Kimi K2.7 Code",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.19
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "grok-4.6": {
+ "id": "grok-4.6",
+ "name": "Grok 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ },
+ "provider": {
+ "npm": "@ai-sdk/openai"
+ }
+ },
+ "qwen3.7-plus": {
+ "id": "qwen3.7-plus",
+ "name": "Qwen3.7 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "max": 262144
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 1.6,
+ "cache_read": 0.04,
+ "cache_write": 0.5,
+ "tiers": [
+ {
+ "input": 1.2,
+ "output": 4.8,
+ "cache_read": 0.12,
+ "cache_write": 1.5,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "deepseek-v4-flash": {
+ "id": "deepseek-v4-flash",
+ "name": "DeepSeek V4 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.003
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ }
+ }
+ },
+ "openrouter": {
+ "id": "openrouter",
+ "name": "OpenRouter",
+ "env": ["OPENROUTER_API_KEY"],
+ "npm": "@openrouter/ai-sdk-provider",
+ "api": "https://openrouter.ai/api/v1",
+ "models": {
+ "sao10k/l3-lunaris-8b": {
+ "id": "sao10k/l3-lunaris-8b",
+ "name": "Llama 3 8B Lunaris",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.04,
+ "output": 0.05
+ },
+ "limit": {
+ "context": 8192,
+ "output": 7372
+ }
+ },
+ "sao10k/l3.3-euryale-70b": {
+ "id": "sao10k/l3.3-euryale-70b",
+ "name": "Llama 3.3 Euryale 70B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.65,
+ "output": 0.75
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "sao10k/l3.1-euryale-70b": {
+ "id": "sao10k/l3.1-euryale-70b",
+ "name": "Llama 3.1 Euryale 70B v2.2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.85,
+ "output": 0.85
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "kwaipilot/kat-coder-pro-v2.5": {
+ "id": "kwaipilot/kat-coder-pro-v2.5",
+ "name": "KAT-Coder-Pro V2.5",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.74,
+ "output": 2.96,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "stealth/space-bunny-alpha": {
+ "id": "stealth/space-bunny-alpha",
+ "name": "Space Bunny Alpha",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 524288
+ }
+ },
+ "bytedance-seed/seed-1.6-flash": {
+ "id": "bytedance-seed/seed-1.6-flash",
+ "name": "Seed 1.6 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.075,
+ "output": 0.3,
+ "tiers": [
+ {
+ "input": 0.1,
+ "output": 0.8,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "bytedance-seed/seed-2.0-lite": {
+ "id": "bytedance-seed/seed-2.0-lite",
+ "name": "Seed 2.0 Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2,
+ "tiers": [
+ {
+ "input": 0.5,
+ "output": 4,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "bytedance-seed/seed-2-1-turbo": {
+ "id": "bytedance-seed/seed-2-1-turbo",
+ "name": "Seed 2.1 Turbo",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 2.5
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "bytedance-seed/seed-2.0-mini": {
+ "id": "bytedance-seed/seed-2.0-mini",
+ "name": "Seed 2.0 Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.4,
+ "tiers": [
+ {
+ "input": 0.2,
+ "output": 0.8,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "bytedance-seed/seed-2.0-code": {
+ "id": "bytedance-seed/seed-2.0-code",
+ "name": "Seed 2.0 Code",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "tiers": [
+ {
+ "input": 1,
+ "output": 6,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "bytedance-seed/seed-1.6": {
+ "id": "bytedance-seed/seed-1.6",
+ "name": "Seed 1.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2,
+ "tiers": [
+ {
+ "input": 0.5,
+ "output": 4,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "~moonshotai/kimi-latest": {
+ "id": "~moonshotai/kimi-latest",
+ "name": "Kimi Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3654,
+ "output": 9.1343,
+ "cache_read": 0.4
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "poolside/laguna-s-2.1:free": {
+ "id": "poolside/laguna-s-2.1:free",
+ "name": "Laguna S 2.1 (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "poolside/laguna-s-2.1": {
+ "id": "poolside/laguna-s-2.1",
+ "name": "Laguna S 2.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.09,
+ "output": 0.18,
+ "cache_read": 0.009
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "poolside/laguna-xs-2.1:free": {
+ "id": "poolside/laguna-xs-2.1:free",
+ "name": "Laguna XS 2.1 (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "poolside/laguna-xs-2.1": {
+ "id": "poolside/laguna-xs-2.1",
+ "name": "Laguna XS 2.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.12,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "prism-ml/ternary-bonsai-2-27b": {
+ "id": "prism-ml/ternary-bonsai-2-27b",
+ "name": "Ternary Bonsai 2 27B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["medium", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.075,
+ "output": 0.5,
+ "cache_read": 0.0375
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "anthropic/claude-opus-4.1": {
+ "id": "anthropic/claude-opus-4.1",
+ "name": "Claude Opus 4.1 (latest)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 75,
+ "cache_read": 1.5,
+ "cache_write": 18.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 32000
+ }
+ },
+ "anthropic/claude-opus-4.5": {
+ "id": "anthropic/claude-opus-4.5",
+ "name": "Claude Opus 4.5 (latest)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "anthropic/claude-opus-4.6": {
+ "id": "anthropic/claude-opus-4.6",
+ "name": "Claude Opus 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 37.5,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-opus-4.7": {
+ "id": "anthropic/claude-opus-4.7",
+ "name": "Claude Opus 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 37.5,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-opus-4.8": {
+ "id": "anthropic/claude-opus-4.8",
+ "name": "Claude Opus 4.8",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-haiku-4.5": {
+ "id": "anthropic/claude-haiku-4.5",
+ "name": "Claude Haiku 4.5 (latest)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 5,
+ "cache_read": 0.1,
+ "cache_write": 1.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "anthropic/claude-opus-5": {
+ "id": "anthropic/claude-opus-5",
+ "name": "Claude Opus 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-sonnet-5.5": {
+ "id": "anthropic/claude-sonnet-5.5",
+ "name": "Claude Sonnet 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-fable-5.1": {
+ "id": "anthropic/claude-fable-5.1",
+ "name": "Claude Fable 5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 0.25,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-sonnet-4.5": {
+ "id": "anthropic/claude-sonnet-4.5",
+ "name": "Claude Sonnet 4.5 (latest)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75,
+ "tiers": [
+ {
+ "input": 6,
+ "output": 22.5,
+ "cache_read": 0.6,
+ "cache_write": 7.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "anthropic/claude-fable-5": {
+ "id": "anthropic/claude-fable-5",
+ "name": "Claude Fable 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-sonnet-4": {
+ "id": "anthropic/claude-sonnet-4",
+ "name": "Claude Sonnet 4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75,
+ "tiers": [
+ {
+ "input": 6,
+ "output": 22.5,
+ "cache_read": 0.6,
+ "cache_write": 7.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "anthropic/claude-sonnet-5": {
+ "id": "anthropic/claude-sonnet-5",
+ "name": "Claude Sonnet 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-sonnet-4.6": {
+ "id": "anthropic/claude-sonnet-4.6",
+ "name": "Claude Sonnet 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75,
+ "tiers": [
+ {
+ "input": 6,
+ "output": 22.5,
+ "cache_read": 0.6,
+ "cache_write": 7.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-opus-5.5": {
+ "id": "anthropic/claude-opus-5.5",
+ "name": "Claude Opus 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.2,
+ "cache_write": 5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "nex-agi/nex-n2.5-mini": {
+ "id": "nex-agi/nex-n2.5-mini",
+ "name": "Nex-N2.5-Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.025,
+ "output": 0.1,
+ "cache_read": 0.0025
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "nex-agi/nex-n2.5-pro": {
+ "id": "nex-agi/nex-n2.5-pro",
+ "name": "Nex-N2.5-Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.075,
+ "output": 0.25,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "cohere/command-r-08-2024": {
+ "id": "cohere/command-r-08-2024",
+ "name": "Command R",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4000
+ }
+ },
+ "cohere/command-a-plus": {
+ "id": "cohere/command-a-plus",
+ "name": "Command A+",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.5,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 192000,
+ "output": 64000
+ }
+ },
+ "cohere/command-a": {
+ "id": "cohere/command-a",
+ "name": "Command A",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10
+ },
+ "limit": {
+ "context": 256000,
+ "output": 8192
+ }
+ },
+ "cohere/north-mini-code:free": {
+ "id": "cohere/north-mini-code:free",
+ "name": "North Mini Code (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 64000
+ }
+ },
+ "cohere/command-r7b-12-2024": {
+ "id": "cohere/command-r7b-12-2024",
+ "name": "Command R7B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.0375,
+ "output": 0.15
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4000
+ }
+ },
+ "cohere/command-r-plus-08-2024": {
+ "id": "cohere/command-r-plus-08-2024",
+ "name": "Command R+",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4000
+ }
+ },
+ "deepseek/deepseek-chat-v3.1": {
+ "id": "deepseek/deepseek-chat-v3.1",
+ "name": "DeepSeek V3.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 0.95,
+ "cache_read": 0.13
+ },
+ "limit": {
+ "context": 163840,
+ "output": 32768
+ }
+ },
+ "deepseek/deepseek-v4-flash-0731": {
+ "id": "deepseek/deepseek-v4-flash-0731",
+ "name": "DeepSeek V4 Flash 0731",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.01,
+ "output": 1.28,
+ "cache_read": 0.01
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "deepseek/deepseek-v4.1-flash": {
+ "id": "deepseek/deepseek-v4.1-flash",
+ "name": "DeepSeek V4.1 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.0198,
+ "output": 0.396,
+ "cache_read": 0.00291
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "deepseek/deepseek-v4-flash-vision-exp": {
+ "id": "deepseek/deepseek-v4-flash-vision-exp",
+ "name": "DeepSeek V4 Flash Vision Exp",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2156,
+ "output": 0.6468,
+ "cache_read": 0.00686
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 262144
+ }
+ },
+ "deepseek/deepseek-v3.1-terminus": {
+ "id": "deepseek/deepseek-v3.1-terminus",
+ "name": "DeepSeek V3.1 Terminus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1,
+ "cache_read": 0.135
+ },
+ "limit": {
+ "context": 163840,
+ "output": 65536
+ }
+ },
+ "deepseek/deepseek-chat": {
+ "id": "deepseek/deepseek-chat",
+ "name": "DeepSeek Chat",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2574,
+ "output": 1.0287
+ },
+ "limit": {
+ "context": 163840,
+ "output": 16000
+ }
+ },
+ "deepseek/deepseek-v4-pro-0813": {
+ "id": "deepseek/deepseek-v4-pro-0813",
+ "name": "DeepSeek V4 Pro 0813",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.66,
+ "output": 1.98,
+ "cache_read": 0.022
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 393216
+ }
+ },
+ "deepseek/deepseek-v3.2-exp": {
+ "id": "deepseek/deepseek-v3.2-exp",
+ "name": "DeepSeek V3.2 Exp",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.27,
+ "output": 0.41
+ },
+ "limit": {
+ "context": 163840,
+ "output": 147456
+ }
+ },
+ "deepseek/deepseek-chat-v3-0324": {
+ "id": "deepseek/deepseek-chat-v3-0324",
+ "name": "DeepSeek V3 0324",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.29,
+ "output": 1.14,
+ "cache_read": 0.11
+ },
+ "limit": {
+ "context": 163840,
+ "output": 147456
+ }
+ },
+ "deepseek/deepseek-r1": {
+ "id": "deepseek/deepseek-r1",
+ "name": "DeepSeek-R1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.7,
+ "output": 2.5
+ },
+ "limit": {
+ "context": 64000,
+ "output": 16000
+ }
+ },
+ "deepseek/deepseek-v4-pro": {
+ "id": "deepseek/deepseek-v4-pro",
+ "name": "DeepSeek V4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["high", "xhigh"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.783,
+ "output": 1.566,
+ "cache_read": 0.06525
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 384000
+ }
+ },
+ "deepseek/deepseek-r1-0528": {
+ "id": "deepseek/deepseek-r1-0528",
+ "name": "R1 0528",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 2.15,
+ "cache_read": 0.35
+ },
+ "limit": {
+ "context": 163840,
+ "output": 32768
+ }
+ },
+ "deepseek/deepseek-v3.2": {
+ "id": "deepseek/deepseek-v3.2",
+ "name": "DeepSeek V3.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.28,
+ "output": 0.42,
+ "cache_read": 0.028
+ },
+ "limit": {
+ "context": 163840,
+ "output": 65536
+ }
+ },
+ "deepseek/deepseek-v4-flash": {
+ "id": "deepseek/deepseek-v4-flash",
+ "name": "DeepSeek V4 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["high", "xhigh"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.028
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "unbiased/pareto": {
+ "id": "unbiased/pareto",
+ "name": "Pareto",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 7.5,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "tencent/hy3-preview": {
+ "id": "tencent/hy3-preview",
+ "name": "Hy3 preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.18,
+ "output": 0.6,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "tencent/hunyuan-a13b-instruct": {
+ "id": "tencent/hunyuan-a13b-instruct",
+ "name": "Hunyuan A13B Instruct",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.57
+ },
+ "limit": {
+ "context": 131072,
+ "output": 117964
+ }
+ },
+ "tencent/hy-mt2-30b-a3b": {
+ "id": "tencent/hy-mt2-30b-a3b",
+ "name": "Hy-MT2-30B-A3B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.074,
+ "output": 0.295
+ },
+ "limit": {
+ "context": 8192,
+ "output": 4096
+ }
+ },
+ "tencent/hy-mt2-1.8b": {
+ "id": "tencent/hy-mt2-1.8b",
+ "name": "Hy-MT2-1.8B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.044,
+ "output": 0.177
+ },
+ "limit": {
+ "context": 8192,
+ "output": 4096
+ }
+ },
+ "tencent/hy3": {
+ "id": "tencent/hy3",
+ "name": "Hy3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.132,
+ "output": 0.528,
+ "cache_read": 0.033
+ },
+ "limit": {
+ "context": 262144,
+ "output": 128000
+ }
+ },
+ "tencent/hy-mt2-7b": {
+ "id": "tencent/hy-mt2-7b",
+ "name": "Hy-MT2-7B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.074,
+ "output": 0.295
+ },
+ "limit": {
+ "context": 8192,
+ "output": 4096
+ }
+ },
+ "tencent/hy4-preview": {
+ "id": "tencent/hy4-preview",
+ "name": "Hy4 preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.834,
+ "output": 2.501,
+ "cache_read": 0.042
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 64000
+ }
+ },
+ "anthracite-org/magnum-v4-72b": {
+ "id": "anthracite-org/magnum-v4-72b",
+ "name": "Magnum v4 72B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 5
+ },
+ "limit": {
+ "context": 32768,
+ "output": 4096
+ }
+ },
+ "meta-llama/llama-4-scout": {
+ "id": "meta-llama/llama-4-scout",
+ "name": "Llama 4 Scout",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 1310720,
+ "output": 16384
+ }
+ },
+ "meta-llama/llama-guard-4-12b": {
+ "id": "meta-llama/llama-guard-4-12b",
+ "name": "Llama Guard 4 12B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.18,
+ "output": 0.18
+ },
+ "limit": {
+ "context": 163840,
+ "output": 16384
+ }
+ },
+ "meta-llama/llama-4-maverick": {
+ "id": "meta-llama/llama-4-maverick",
+ "name": "Llama 4 Maverick",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1875,
+ "output": 0.6525
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 16384
+ }
+ },
+ "meta-llama/llama-3.3-70b-instruct": {
+ "id": "meta-llama/llama-3.3-70b-instruct",
+ "name": "Llama-3.3-70B-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.32
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "meta-llama/llama-3.1-8b-instruct": {
+ "id": "meta-llama/llama-3.1-8b-instruct",
+ "name": "Llama-3.1-8B-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.08,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 131072,
+ "output": 117964
+ }
+ },
+ "meta-llama/llama-3.2-1b-instruct": {
+ "id": "meta-llama/llama-3.2-1b-instruct",
+ "name": "Llama 3.2 1B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.027,
+ "output": 0.201
+ },
+ "limit": {
+ "context": 60000,
+ "output": 54000
+ }
+ },
+ "meta-llama/llama-3.2-3b-instruct": {
+ "id": "meta-llama/llama-3.2-3b-instruct",
+ "name": "Llama 3.2 3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.33
+ },
+ "limit": {
+ "context": 131072,
+ "output": 117964
+ }
+ },
+ "meta-llama/llama-3.1-70b-instruct": {
+ "id": "meta-llama/llama-3.1-70b-instruct",
+ "name": "Llama-3.1-70B-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "~google/gemini-flash-latest": {
+ "id": "~google/gemini-flash-latest",
+ "name": "Gemini Flash Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075,
+ "cache_write": 0.041667
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "~google/gemini-pro-latest": {
+ "id": "~google/gemini-pro-latest",
+ "name": "Gemini Pro Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["audio", "pdf", "image", "text", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 0.375,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "perceptron/perceptron-mk1": {
+ "id": "perceptron/perceptron-mk1",
+ "name": "Perceptron Mk1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 1.5
+ },
+ "limit": {
+ "context": 32768,
+ "output": 8192
+ }
+ },
+ "perceptron/perceptron-mk1.5": {
+ "id": "perceptron/perceptron-mk1.5",
+ "name": "Perceptron Mk1.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 1.5
+ },
+ "limit": {
+ "context": 36864,
+ "output": 8192
+ }
+ },
+ "z-ai/glm-4.6v": {
+ "id": "z-ai/glm-4.6v",
+ "name": "GLM-4.6V",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 0.9,
+ "cache_read": 0.055
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "z-ai/glm-4.5": {
+ "id": "z-ai/glm-4.5",
+ "name": "GLM-4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2,
+ "cache_read": 0.11
+ },
+ "limit": {
+ "context": 131072,
+ "output": 98304
+ }
+ },
+ "z-ai/glm-5.3-prime": {
+ "id": "z-ai/glm-5.3-prime",
+ "name": "GLM 5.3 Prime",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.8,
+ "output": 8.8,
+ "cache_read": 0.56
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "z-ai/glm-5v-turbo": {
+ "id": "z-ai/glm-5v-turbo",
+ "name": "GLM-5V-Turbo",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.2,
+ "output": 4,
+ "cache_read": 0.24
+ },
+ "limit": {
+ "context": 202752,
+ "output": 131072
+ }
+ },
+ "z-ai/glm-5.3-flash": {
+ "id": "z-ai/glm-5.3-flash",
+ "name": "GLM-5.3-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943717
+ }
+ },
+ "z-ai/glm-4.6": {
+ "id": "z-ai/glm-4.6",
+ "name": "GLM-4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.43,
+ "output": 1.75,
+ "cache_read": 0.08
+ },
+ "limit": {
+ "context": 204800,
+ "output": 16384
+ }
+ },
+ "z-ai/glm-5": {
+ "id": "z-ai/glm-5",
+ "name": "GLM-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 1.92,
+ "cache_read": 0.12
+ },
+ "limit": {
+ "context": 204800,
+ "output": 128000
+ }
+ },
+ "z-ai/glm-4.5v": {
+ "id": "z-ai/glm-4.5v",
+ "name": "GLM-4.5V",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 1.8,
+ "cache_read": 0.11
+ },
+ "limit": {
+ "context": 65536,
+ "output": 16384
+ }
+ },
+ "z-ai/glm-5.3-flashx": {
+ "id": "z-ai/glm-5.3-flashx",
+ "name": "GLM 5.3 FlashX",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.37,
+ "output": 1.25,
+ "cache_read": 0.09
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "z-ai/glm-4.7-flash": {
+ "id": "z-ai/glm-4.7-flash",
+ "name": "GLM-4.7-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_details"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.0605,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 200000,
+ "output": 117964
+ }
+ },
+ "z-ai/glm-4.7": {
+ "id": "z-ai/glm-4.7",
+ "name": "GLM-4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_details"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2,
+ "cache_read": 0.11
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "z-ai/glm-5.2": {
+ "id": "z-ai/glm-5.2",
+ "name": "GLM-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["high", "xhigh"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.41,
+ "output": 3.99,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "z-ai/glm-5.1": {
+ "id": "z-ai/glm-5.1",
+ "name": "GLM-5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "z-ai/glm-5-turbo": {
+ "id": "z-ai/glm-5-turbo",
+ "name": "GLM-5-Turbo",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.2,
+ "output": 4,
+ "cache_read": 0.24
+ },
+ "limit": {
+ "context": 202752,
+ "output": 131072
+ }
+ },
+ "z-ai/glm-4.5-air": {
+ "id": "z-ai/glm-4.5-air",
+ "name": "GLM-4.5-Air",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.13,
+ "output": 0.85,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 131072,
+ "output": 98304
+ }
+ },
+ "z-ai/glm-5.3": {
+ "id": "z-ai/glm-5.3",
+ "name": "GLM-5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943717
+ }
+ },
+ "inference-net/schematron-v2-small": {
+ "id": "inference-net/schematron-v2-small",
+ "name": "Schematron V2 Small",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.23,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "inference-net/schematron-v2-turbo": {
+ "id": "inference-net/schematron-v2-turbo",
+ "name": "Schematron V2 Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.03,
+ "output": 0.15,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "thinkingmachines/inkling-small:free": {
+ "id": "thinkingmachines/inkling-small:free",
+ "name": "Inkling Small (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 262144
+ }
+ },
+ "thinkingmachines/inkling-small": {
+ "id": "thinkingmachines/inkling-small",
+ "name": "Inkling Small",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.45,
+ "output": 1.2,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 524288,
+ "output": 262144
+ }
+ },
+ "thinkingmachines/inkling:free": {
+ "id": "thinkingmachines/inkling:free",
+ "name": "Inkling (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 262144
+ }
+ },
+ "thinkingmachines/inkling": {
+ "id": "thinkingmachines/inkling",
+ "name": "Inkling",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 4.05,
+ "cache_read": 0.17
+ },
+ "limit": {
+ "context": 524288,
+ "output": 471859
+ }
+ },
+ "meituan/longcat-2.0": {
+ "id": "meituan/longcat-2.0",
+ "name": "LongCat 2.0",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.006
+ },
+ "limit": {
+ "context": 1048756,
+ "output": 262144
+ }
+ },
+ "openrouter/bodybuilder": {
+ "id": "openrouter/bodybuilder",
+ "name": "Body Builder (beta)",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "openrouter/free": {
+ "id": "openrouter/free",
+ "name": "Free Models Router",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 8000
+ }
+ },
+ "openrouter/pareto-code": {
+ "id": "openrouter/pareto-code",
+ "name": "Pareto Code Router",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 200000
+ }
+ },
+ "openrouter/fusion": {
+ "id": "openrouter/fusion",
+ "name": "Fusion",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "openrouter/auto": {
+ "id": "openrouter/auto",
+ "name": "Auto Router",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "pdf", "video"],
+ "output": ["text", "image"]
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 2000000
+ }
+ },
+ "perplexity/sonar-pro": {
+ "id": "perplexity/sonar-pro",
+ "name": "Sonar Pro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15
+ },
+ "limit": {
+ "context": 200000,
+ "output": 8000
+ }
+ },
+ "perplexity/sonar-deep-research": {
+ "id": "perplexity/sonar-deep-research",
+ "name": "Sonar Deep Research",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8
+ },
+ "limit": {
+ "context": 128000,
+ "output": 115200
+ }
+ },
+ "perplexity/sonar": {
+ "id": "perplexity/sonar",
+ "name": "Sonar",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 1
+ },
+ "limit": {
+ "context": 127072,
+ "output": 114364
+ }
+ },
+ "perplexity/sonar-reasoning-pro": {
+ "id": "perplexity/sonar-reasoning-pro",
+ "name": "Sonar Reasoning Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8
+ },
+ "limit": {
+ "context": 128000,
+ "output": 115200
+ }
+ },
+ "perplexity/sonar-pro-search": {
+ "id": "perplexity/sonar-pro-search",
+ "name": "Sonar Pro Search",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15
+ },
+ "limit": {
+ "context": 200000,
+ "output": 8000
+ }
+ },
+ "meta/muse-spark-1.3": {
+ "id": "meta/muse-spark-1.3",
+ "name": "Muse Spark 1.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 4.25,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "meta/muse-glimmer-30b": {
+ "id": "meta/muse-glimmer-30b",
+ "name": "Muse Glimmer 30B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.35,
+ "output": 1.5,
+ "cache_read": 0.04
+ },
+ "limit": {
+ "context": 131072,
+ "output": 117964
+ }
+ },
+ "meta/muse-spark-1.1": {
+ "id": "meta/muse-spark-1.1",
+ "name": "Muse Spark 1.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 4.25,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "meta/muse-spark-1.2": {
+ "id": "meta/muse-spark-1.2",
+ "name": "Muse Spark 1.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 4.25,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "meta/muse-spark-1.2-contributor": {
+ "id": "meta/muse-spark-1.2-contributor",
+ "name": "Muse Spark 1.2 Contributor",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.2,
+ "cache_read": 0.002
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "meta/muse-spark-1.3-contributor": {
+ "id": "meta/muse-spark-1.3-contributor",
+ "name": "Muse Spark 1.3 Contributor",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.2,
+ "cache_read": 0.002
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "nousresearch/hermes-3-llama-3.1-70b": {
+ "id": "nousresearch/hermes-3-llama-3.1-70b",
+ "name": "Hermes 3 70B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.7,
+ "output": 0.7
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "nousresearch/hermes-3-llama-3.1-405b": {
+ "id": "nousresearch/hermes-3-llama-3.1-405b",
+ "name": "Hermes 3 405B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 1
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "nousresearch/hermes-4-405b": {
+ "id": "nousresearch/hermes-4-405b",
+ "name": "Hermes 4 405B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 3
+ },
+ "limit": {
+ "context": 131072,
+ "output": 117964
+ }
+ },
+ "~z-ai/glm-flash-latest": {
+ "id": "~z-ai/glm-flash-latest",
+ "name": "GLM Flash Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.02,
+ "output": 0.2475,
+ "cache_read": 0.01
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "~z-ai/glm-latest": {
+ "id": "~z-ai/glm-latest",
+ "name": "GLM Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.13,
+ "output": 4,
+ "cache_read": 0.13
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "arcee-ai/trinity-large-thinking": {
+ "id": "arcee-ai/trinity-large-thinking",
+ "name": "Trinity Large Thinking",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 0.8,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 262144,
+ "output": 80000
+ }
+ },
+ "~openai/gpt-terra-latest": {
+ "id": "~openai/gpt-terra-latest",
+ "name": "GPT Terra Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "~openai/gpt-luna-latest": {
+ "id": "~openai/gpt-luna-latest",
+ "name": "GPT Luna Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.5,
+ "cache_read": 0.01,
+ "cache_write": 0.125,
+ "tiers": [
+ {
+ "input": 0.2,
+ "output": 0.75,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "~openai/gpt-sol-latest": {
+ "id": "~openai/gpt-sol-latest",
+ "name": "GPT Sol Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.1,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.2,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "~openai/gpt-astra-latest": {
+ "id": "~openai/gpt-astra-latest",
+ "name": "GPT Astra Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tiers": [
+ {
+ "input": 20,
+ "output": 75,
+ "cache_read": 2,
+ "cache_write": 25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "~openai/gpt-mini-latest": {
+ "id": "~openai/gpt-mini-latest",
+ "name": "GPT Mini Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 4.5,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "cognitivecomputations/dolphin-mistral-24b-venice-edition": {
+ "id": "cognitivecomputations/dolphin-mistral-24b-venice-edition",
+ "name": "Uncensored",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.9
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "thedrummer/skyfall-36b-v2": {
+ "id": "thedrummer/skyfall-36b-v2",
+ "name": "Skyfall 36B V2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.55,
+ "output": 0.8,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 32768,
+ "output": 29491
+ }
+ },
+ "thedrummer/unslopnemo-12b": {
+ "id": "thedrummer/unslopnemo-12b",
+ "name": "UnslopNemo 12B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 1024000,
+ "output": 819200
+ }
+ },
+ "thedrummer/cydonia-24b-v4.1": {
+ "id": "thedrummer/cydonia-24b-v4.1",
+ "name": "Cydonia 24B V4.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 0.5,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 131072,
+ "output": 117964
+ }
+ },
+ "baidu/ernie-4.5-vl-424b-a47b": {
+ "id": "baidu/ernie-4.5-vl-424b-a47b",
+ "name": "ERNIE 4.5 VL 424B A47B ",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.42,
+ "output": 1.25
+ },
+ "limit": {
+ "context": 123000,
+ "output": 16000
+ }
+ },
+ "x-ai/grok-4.20-multi-agent": {
+ "id": "x-ai/grok-4.20-multi-agent",
+ "name": "Grok 4.20 Multi-Agent",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 1800000
+ }
+ },
+ "x-ai/grok-4.7": {
+ "id": "x-ai/grok-4.7",
+ "name": "Grok 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 450000
+ }
+ },
+ "x-ai/grok-4.3": {
+ "id": "x-ai/grok-4.3",
+ "name": "Grok 4.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 900000
+ }
+ },
+ "x-ai/grok-4.5": {
+ "id": "x-ai/grok-4.5",
+ "name": "Grok 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.3,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 0.6,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 450000
+ }
+ },
+ "x-ai/grok-build-0.1": {
+ "id": "x-ai/grok-build-0.1",
+ "name": "Grok Build 0.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 2,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2,
+ "output": 4,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 256000,
+ "output": 230400
+ }
+ },
+ "x-ai/grok-4.20": {
+ "id": "x-ai/grok-4.20",
+ "name": "Grok 4.20",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 1800000
+ }
+ },
+ "x-ai/grok-4.6": {
+ "id": "x-ai/grok-4.6",
+ "name": "Grok 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 450000
+ }
+ },
+ "~anthropic/claude-opus-latest": {
+ "id": "~anthropic/claude-opus-latest",
+ "name": "Claude Opus Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.2,
+ "cache_write": 5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "~anthropic/claude-haiku-latest": {
+ "id": "~anthropic/claude-haiku-latest",
+ "name": "Claude Haiku Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 5,
+ "cache_read": 0.1,
+ "cache_write": 1.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "~anthropic/claude-sonnet-latest": {
+ "id": "~anthropic/claude-sonnet-latest",
+ "name": "Claude Sonnet Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "~anthropic/claude-fable-latest": {
+ "id": "~anthropic/claude-fable-latest",
+ "name": "Claude Fable Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 0.25,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "upstage/solar-pro-3": {
+ "id": "upstage/solar-pro-3",
+ "name": "Solar Pro 3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 131072,
+ "output": 117964
+ }
+ },
+ "upstage/solar-pro4": {
+ "id": "upstage/solar-pro4",
+ "name": "Solar Pro 4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.09,
+ "output": 0.36,
+ "cache_read": 0.018
+ },
+ "limit": {
+ "context": 524288,
+ "output": 131072
+ }
+ },
+ "upstage/solar-mini4": {
+ "id": "upstage/solar-mini4",
+ "name": "Solar Mini 4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.2,
+ "cache_read": 0.005
+ },
+ "limit": {
+ "context": 524288,
+ "output": 131072
+ }
+ },
+ "~deepseek/deepseek-flash-latest": {
+ "id": "~deepseek/deepseek-flash-latest",
+ "name": "DeepSeek Flash Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.0198,
+ "output": 0.396,
+ "cache_read": 0.00291
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "~deepseek/deepseek-pro-latest": {
+ "id": "~deepseek/deepseek-pro-latest",
+ "name": "DeepSeek Pro Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.123,
+ "output": 3.5,
+ "cache_read": 0.123
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 393216
+ }
+ },
+ "~deepseek/deepseek-v4-flash-latest": {
+ "id": "~deepseek/deepseek-v4-flash-latest",
+ "name": "DeepSeek V4 Flash Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.0099,
+ "output": 0.13068,
+ "cache_read": 0.001386
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "~x-ai/grok-latest": {
+ "id": "~x-ai/grok-latest",
+ "name": "Grok Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 450000
+ }
+ },
+ "bytedance/ui-tars-1.5-7b": {
+ "id": "bytedance/ui-tars-1.5-7b",
+ "name": "UI-TARS 7B ",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.2,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 128000,
+ "output": 2048
+ }
+ },
+ "liquid/lfm-2.5-2.6b:free": {
+ "id": "liquid/lfm-2.5-2.6b:free",
+ "name": "LFM2.5-2.6B (free)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 65536,
+ "output": 8192
+ }
+ },
+ "google/gemma-4-31b-it": {
+ "id": "google/gemma-4-31b-it",
+ "name": "Gemma 4 31B IT",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.09,
+ "output": 0.34,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 262144,
+ "output": 16384
+ }
+ },
+ "google/gemini-3.1-flash-image-preview": {
+ "id": "google/gemini-3.1-flash-image-preview",
+ "name": "Nano Banana 2 Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["minimal", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3
+ },
+ "limit": {
+ "context": 65536,
+ "output": 58982
+ }
+ },
+ "google/lyria-3-pro-preview": {
+ "id": "google/lyria-3-pro-preview",
+ "name": "Lyria 3 Pro Preview",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemma-3-27b-it": {
+ "id": "google/gemma-3-27b-it",
+ "name": "Gemma 3 27B IT",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.08,
+ "output": 0.45,
+ "cache_read": 0.04
+ },
+ "limit": {
+ "context": 131072,
+ "output": 117964
+ }
+ },
+ "google/gemma-4-31b-it:free": {
+ "id": "google/gemma-4-31b-it:free",
+ "name": "Gemma 4 31B (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "google/gemini-2.5-flash-image": {
+ "id": "google/gemini-2.5-flash-image",
+ "name": "Nano Banana",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.03,
+ "cache_write": 0.083333
+ },
+ "limit": {
+ "context": 32768,
+ "output": 8192
+ }
+ },
+ "google/gemma-4-26b-a4b-it:free": {
+ "id": "google/gemma-4-26b-a4b-it:free",
+ "name": "Gemma 4 26B A4B (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "google/gemma-2-27b-it": {
+ "id": "google/gemma-2-27b-it",
+ "name": "Gemma 2 27B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.65,
+ "output": 0.65
+ },
+ "limit": {
+ "context": 8192,
+ "output": 2048
+ }
+ },
+ "google/gemini-3.6-flash": {
+ "id": "google/gemini-3.6-flash",
+ "name": "Gemini 3.6 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075,
+ "cache_write": 0.041667
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemma-4-26b-a4b-it": {
+ "id": "google/gemma-4-26b-a4b-it",
+ "name": "Gemma 4 26B A4B IT",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.09,
+ "output": 0.3,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "google/gemini-3-pro-image-preview": {
+ "id": "google/gemini-3-pro-image-preview",
+ "name": "Nano Banana Pro Preview",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 65536,
+ "output": 32768
+ }
+ },
+ "google/gemini-3.5-flash-lite": {
+ "id": "google/gemini-3.5-flash-lite",
+ "name": "Gemini 3.5 Flash Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.03,
+ "cache_write": 0.083333
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemini-3.1-flash-image": {
+ "id": "google/gemini-3.1-flash-image",
+ "name": "Nano Banana 2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["minimal", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "google/lyria-3-clip-preview": {
+ "id": "google/lyria-3-clip-preview",
+ "name": "Lyria 3 Clip Preview",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemini-3.1-pro-preview": {
+ "id": "google/gemini-3.1-pro-preview",
+ "name": "Gemini 3.1 Pro Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_details"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 0.375,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemma-3-12b-it": {
+ "id": "google/gemma-3-12b-it",
+ "name": "Gemma 3 12B IT",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.15
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "google/gemini-3.5-flash": {
+ "id": "google/gemini-3.5-flash",
+ "name": "Gemini 3.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 9,
+ "cache_read": 0.15,
+ "cache_write": 0.083333
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemini-2.5-pro": {
+ "id": "google/gemini-2.5-pro",
+ "name": "Gemini 2.5 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 128,
+ "max": 32768
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125,
+ "cache_write": 0.375,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 15,
+ "cache_read": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemini-3-pro-image": {
+ "id": "google/gemini-3-pro-image",
+ "name": "Nano Banana Pro",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "google/gemini-2.5-flash": {
+ "id": "google/gemini-2.5-flash",
+ "name": "Gemini 2.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.03,
+ "cache_write": 0.083333
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65535
+ }
+ },
+ "google/gemini-3.1-flash-lite-image": {
+ "id": "google/gemini-3.1-flash-lite-image",
+ "name": "Nano Banana 2 Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["minimal", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1.5
+ },
+ "limit": {
+ "context": 65536,
+ "output": 58982
+ }
+ },
+ "google/gemini-3.7-flash": {
+ "id": "google/gemini-3.7-flash",
+ "name": "Gemini 3.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075,
+ "cache_write": 0.041667
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemini-3.1-pro-preview-customtools": {
+ "id": "google/gemini-3.1-pro-preview-customtools",
+ "name": "Gemini 3.1 Pro Preview Custom Tools",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_details"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 0.375,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemini-3-flash-preview": {
+ "id": "google/gemini-3-flash-preview",
+ "name": "Gemini 3 Flash Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_details"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05,
+ "cache_write": 0.083333
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemini-3.8-flash": {
+ "id": "google/gemini-3.8-flash",
+ "name": "Gemini 3.8 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075,
+ "cache_write": 0.041667
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemma-3-4b-it": {
+ "id": "google/gemma-3-4b-it",
+ "name": "Gemma 3 4B IT",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.1
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "google/gemini-2.5-flash-lite": {
+ "id": "google/gemini-2.5-flash-lite",
+ "name": "Gemini 2.5 Flash-Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.01,
+ "cache_write": 0.083333
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65535
+ }
+ },
+ "google/gemini-2.5-pro-preview": {
+ "id": "google/gemini-2.5-pro-preview",
+ "name": "Gemini 2.5 Pro Preview 06-05",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 128,
+ "max": 32768
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["pdf", "image", "text", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125,
+ "cache_write": 0.375,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 15,
+ "cache_read": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemini-3.1-flash-lite-preview": {
+ "id": "google/gemini-3.1-flash-lite-preview",
+ "name": "Gemini 3.1 Flash Lite Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1.5,
+ "cache_read": 0.025,
+ "cache_write": 0.083333
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemini-3.1-flash-lite": {
+ "id": "google/gemini-3.1-flash-lite",
+ "name": "Gemini 3.1 Flash Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1.5,
+ "cache_read": 0.025,
+ "cache_write": 0.083333
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "writer/palmyra-x5": {
+ "id": "writer/palmyra-x5",
+ "name": "Palmyra X5",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 6
+ },
+ "limit": {
+ "context": 1040000,
+ "output": 8192
+ }
+ },
+ "ibm-granite/granite-4.0-h-micro": {
+ "id": "ibm-granite/granite-4.0-h-micro",
+ "name": "Granite 4.0 Micro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.017,
+ "output": 0.112
+ },
+ "limit": {
+ "context": 131000,
+ "output": 117900
+ }
+ },
+ "ibm-granite/granite-4.2-8b": {
+ "id": "ibm-granite/granite-4.2-8b",
+ "name": "Granite 4.2 8B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.25,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 131072,
+ "output": 117964
+ }
+ },
+ "fireworks/ember-1": {
+ "id": "fireworks/ember-1",
+ "name": "Ember-1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "mistralai/mistral-nemo": {
+ "id": "mistralai/mistral-nemo",
+ "name": "Mistral Nemo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.019,
+ "output": 0.03
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "mistralai/ministral-8b-2512": {
+ "id": "mistralai/ministral-8b-2512",
+ "name": "Ministral 3 8B 2512",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.15,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 262144,
+ "output": 209715
+ }
+ },
+ "mistralai/mistral-small-24b-instruct-2501": {
+ "id": "mistralai/mistral-small-24b-instruct-2501",
+ "name": "Mistral Small 3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.08
+ },
+ "limit": {
+ "context": 32768,
+ "output": 16384
+ }
+ },
+ "mistralai/devstral-2512": {
+ "id": "mistralai/devstral-2512",
+ "name": "Devstral 2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2,
+ "cache_read": 0.04
+ },
+ "limit": {
+ "context": 262144,
+ "output": 209715
+ }
+ },
+ "mistralai/mistral-saba": {
+ "id": "mistralai/mistral-saba",
+ "name": "Saba",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.6,
+ "cache_read": 0.02
+ },
+ "limit": {
+ "context": 32768,
+ "output": 26214
+ }
+ },
+ "mistralai/mistral-medium-3-5": {
+ "id": "mistralai/mistral-medium-3-5",
+ "name": "Mistral Medium 3.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 7.5
+ },
+ "limit": {
+ "context": 262144,
+ "output": 209715
+ }
+ },
+ "mistralai/mistral-medium-3.1": {
+ "id": "mistralai/mistral-medium-3.1",
+ "name": "Mistral Medium 3.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2,
+ "cache_read": 0.04
+ },
+ "limit": {
+ "context": 131072,
+ "output": 104857
+ }
+ },
+ "mistralai/mistral-small-3.2-24b-instruct": {
+ "id": "mistralai/mistral-small-3.2-24b-instruct",
+ "name": "Mistral Small 3.2 24B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.09375,
+ "output": 0.25
+ },
+ "limit": {
+ "context": 256000,
+ "output": 16384
+ }
+ },
+ "mistralai/mistral-large": {
+ "id": "mistralai/mistral-large",
+ "name": "Mistral Large",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 128000,
+ "output": 102400
+ }
+ },
+ "mistralai/mistral-small-2603": {
+ "id": "mistralai/mistral-small-2603",
+ "name": "Mistral Small 4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 262144,
+ "output": 209715
+ }
+ },
+ "mistralai/mistral-medium-3": {
+ "id": "mistralai/mistral-medium-3",
+ "name": "Mistral Medium 3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2,
+ "cache_read": 0.04
+ },
+ "limit": {
+ "context": 131072,
+ "output": 104857
+ }
+ },
+ "mistralai/voxtral-small-24b-2507": {
+ "id": "mistralai/voxtral-small-24b-2507",
+ "name": "Voxtral Small 24B 2507",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "audio", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.3,
+ "cache_read": 0.01
+ },
+ "limit": {
+ "context": 32768,
+ "output": 26214
+ }
+ },
+ "mistralai/mistral-large-2512": {
+ "id": "mistralai/mistral-large-2512",
+ "name": "Mistral Large 3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.5,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 262144,
+ "output": 209715
+ }
+ },
+ "mistralai/mistral-large-2407": {
+ "id": "mistralai/mistral-large-2407",
+ "name": "Mistral Large 2407",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 131072,
+ "output": 104857
+ }
+ },
+ "mistralai/ministral-14b-2512": {
+ "id": "mistralai/ministral-14b-2512",
+ "name": "Ministral 3 14B 2512",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.2,
+ "cache_read": 0.02
+ },
+ "limit": {
+ "context": 262144,
+ "output": 209715
+ }
+ },
+ "mistralai/mistral-small-3.1-24b-instruct": {
+ "id": "mistralai/mistral-small-3.1-24b-instruct",
+ "name": "Mistral Small 3.1 24B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.351,
+ "output": 0.555
+ },
+ "limit": {
+ "context": 128000,
+ "output": 102400
+ }
+ },
+ "mistralai/ministral-3b-2512": {
+ "id": "mistralai/ministral-3b-2512",
+ "name": "Ministral 3 3B 2512",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.1,
+ "cache_read": 0.01
+ },
+ "limit": {
+ "context": 131072,
+ "output": 104857
+ }
+ },
+ "mistralai/mixtral-8x22b-instruct": {
+ "id": "mistralai/mixtral-8x22b-instruct",
+ "name": "Mixtral 8x22B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 65536,
+ "output": 52428
+ }
+ },
+ "mistralai/codestral-2508": {
+ "id": "mistralai/codestral-2508",
+ "name": "Codestral 2508",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 0.9,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 256000,
+ "output": 204800
+ }
+ },
+ "sakana/fugu-max": {
+ "id": "sakana/fugu-max",
+ "name": "Fugu Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "sakana/fugu-ultra-v2": {
+ "id": "sakana/fugu-ultra-v2",
+ "name": "Fugu Ultra v2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 45,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "sakana/fugu-ultra": {
+ "id": "sakana/fugu-ultra",
+ "name": "Fugu Ultra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 45,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "sakana/sakana-namazu": {
+ "id": "sakana/sakana-namazu",
+ "name": "Sakana Namazu",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "inclusionai/ling-3.0-flash-sante:free": {
+ "id": "inclusionai/ling-3.0-flash-sante:free",
+ "name": "Ling 3.0 Flash Sante (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "inclusionai/ling-3.0-flash": {
+ "id": "inclusionai/ling-3.0-flash",
+ "name": "Ling 3.0 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.021,
+ "output": 0.063,
+ "cache_read": 0.0042
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "inclusionai/ling-3.0-flash-vl": {
+ "id": "inclusionai/ling-3.0-flash-vl",
+ "name": "Ling 3.0 Flash VL",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.021,
+ "output": 0.0616,
+ "cache_read": 0.0042
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "inclusionai/ling-3.0-flash-fin": {
+ "id": "inclusionai/ling-3.0-flash-fin",
+ "name": "Ling 3.0 Flash Fin",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.18,
+ "cache_read": 0.012
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "moonshotai/kimi-k3": {
+ "id": "moonshotai/kimi-k3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 943718
+ }
+ },
+ "moonshotai/kimi-k2.6": {
+ "id": "moonshotai/kimi-k2.6",
+ "name": "Kimi K2.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_details"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.65,
+ "output": 3.41,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "moonshotai/kimi-k2-thinking": {
+ "id": "moonshotai/kimi-k2-thinking",
+ "name": "Kimi K2 Thinking",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_details"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.5,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 262144,
+ "output": 98304
+ }
+ },
+ "moonshotai/kimi-k2.5": {
+ "id": "moonshotai/kimi-k2.5",
+ "name": "Kimi K2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_details"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.45,
+ "output": 2.25,
+ "cache_read": 0.07
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "moonshotai/kimi-k2-0905": {
+ "id": "moonshotai/kimi-k2-0905",
+ "name": "Kimi K2 0905",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.5
+ },
+ "limit": {
+ "context": 262144,
+ "output": 98304
+ }
+ },
+ "moonshotai/kimi-k2": {
+ "id": "moonshotai/kimi-k2",
+ "name": "Kimi K2 0711",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.57,
+ "output": 2.3
+ },
+ "limit": {
+ "context": 131072,
+ "output": 98304
+ }
+ },
+ "moonshotai/kimi-k2.7-code": {
+ "id": "moonshotai/kimi-k2.7-code",
+ "name": "Kimi K2.7 Code",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6712,
+ "output": 3.35,
+ "cache_read": 0.18
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "rekaai/reka-flash-3": {
+ "id": "rekaai/reka-flash-3",
+ "name": "Reka Flash 3",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.2
+ },
+ "limit": {
+ "context": 65536,
+ "output": 58982
+ }
+ },
+ "rekaai/reka-edge": {
+ "id": "rekaai/reka-edge",
+ "name": "Reka Edge",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.1
+ },
+ "limit": {
+ "context": 16384,
+ "output": 14745
+ }
+ },
+ "nvidia/nemotron-3-nano-30b-a3b": {
+ "id": "nvidia/nemotron-3-nano-30b-a3b",
+ "name": "Nemotron 3 Nano 30B A3B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.2,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "nvidia/nemotron-3.5-content-safety:free": {
+ "id": "nvidia/nemotron-3.5-content-safety:free",
+ "name": "Nemotron 3.5 Content Safety (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "nvidia/nemotron-3.5-lightning": {
+ "id": "nvidia/nemotron-3.5-lightning",
+ "name": "Nemotron 3.5 Lightning 30B A3B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.16,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free": {
+ "id": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",
+ "name": "Nemotron 3 Nano Omni (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 65536
+ }
+ },
+ "nvidia/nemotron-3-super-120b-a12b": {
+ "id": "nvidia/nemotron-3-super-120b-a12b",
+ "name": "Nemotron 3 Super 120B A12B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.08,
+ "output": 0.45
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "nvidia/nemotron-3-ultra-550b-a55b:free": {
+ "id": "nvidia/nemotron-3-ultra-550b-a55b:free",
+ "name": "Nemotron 3 Ultra (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["medium", "high"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "nvidia/nemotron-3-ultra-550b-a55b": {
+ "id": "nvidia/nemotron-3-ultra-550b-a55b",
+ "name": "Nemotron 3 Ultra 550B A55B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["medium", "high"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.12
+ },
+ "limit": {
+ "context": 262144,
+ "output": 182520
+ }
+ },
+ "nvidia/nemotron-3-super-120b-a12b:free": {
+ "id": "nvidia/nemotron-3-super-120b-a12b:free",
+ "name": "Nemotron 3 Super (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "nvidia/nemotron-3.5-content-safety": {
+ "id": "nvidia/nemotron-3.5-content-safety",
+ "name": "Nemotron 3.5 Content Safety",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.2
+ },
+ "limit": {
+ "context": 131072,
+ "output": 117964
+ }
+ },
+ "nvidia/nemotron-3.5-lightning:free": {
+ "id": "nvidia/nemotron-3.5-lightning:free",
+ "name": "Nemotron 3.5 Lightning (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "xiaomi/mimo-v2.6-pro": {
+ "id": "xiaomi/mimo-v2.6-pro",
+ "name": "MiMo-V2.6-Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.435,
+ "output": 0.87,
+ "cache_read": 0.0036
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 131072
+ }
+ },
+ "xiaomi/mimo-v2.5": {
+ "id": "xiaomi/mimo-v2.5",
+ "name": "MiMo-V2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_details"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.0028
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 131072
+ }
+ },
+ "xiaomi/mimo-v2.6-pro-ultraspeed": {
+ "id": "xiaomi/mimo-v2.6-pro-ultraspeed",
+ "name": "MiMo-V2.6-Pro-UltraSpeed",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4.35,
+ "output": 8.7,
+ "cache_read": 0.036
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "xiaomi/mimo-v2.5-pro": {
+ "id": "xiaomi/mimo-v2.5-pro",
+ "name": "MiMo-V2.5-Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.435,
+ "output": 0.87,
+ "cache_read": 0.0036
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 131072
+ }
+ },
+ "xiaomi/mimo-v2.6-flash": {
+ "id": "xiaomi/mimo-v2.6-flash",
+ "name": "MiMo-V2.6-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.0028
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 131072
+ }
+ },
+ "undi95/remm-slerp-l2-13b": {
+ "id": "undi95/remm-slerp-l2-13b",
+ "name": "ReMM SLERP 13B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.35,
+ "output": 0.65
+ },
+ "limit": {
+ "context": 6144,
+ "output": 5529
+ }
+ },
+ "gryphe/mythomax-l2-13b": {
+ "id": "gryphe/mythomax-l2-13b",
+ "name": "MythoMax 13B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.08,
+ "output": 0.11
+ },
+ "limit": {
+ "context": 8192,
+ "output": 3686
+ }
+ },
+ "minimax/minimax-m2.5": {
+ "id": "minimax/minimax-m2.5",
+ "name": "MiniMax-M2.5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_details"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.27,
+ "output": 1.08,
+ "cache_read": 0.027
+ },
+ "limit": {
+ "context": 204800,
+ "output": 128000
+ }
+ },
+ "minimax/minimax-01": {
+ "id": "minimax/minimax-01",
+ "name": "MiniMax-01",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.1
+ },
+ "limit": {
+ "context": 1000192,
+ "output": 40000
+ }
+ },
+ "minimax/minimax-m2-her": {
+ "id": "minimax/minimax-m2-her",
+ "name": "MiniMax-M2 Her",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 65536,
+ "output": 2048
+ }
+ },
+ "minimax/minimax-m2.7": {
+ "id": "minimax/minimax-m2.7",
+ "name": "MiniMax-M2.7",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.21,
+ "output": 0.84,
+ "cache_read": 0.042
+ },
+ "limit": {
+ "context": 204800,
+ "output": 176947
+ }
+ },
+ "minimax/minimax-m1": {
+ "id": "minimax/minimax-m1",
+ "name": "MiniMax M1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2.2
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 40000
+ }
+ },
+ "minimax/minimax-m3": {
+ "id": "minimax/minimax-m3",
+ "name": "MiniMax-M3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 512000
+ }
+ },
+ "minimax/minimax-m2.1": {
+ "id": "minimax/minimax-m2.1",
+ "name": "MiniMax-M2.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_details"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "minimax/minimax-m2": {
+ "id": "minimax/minimax-m2",
+ "name": "MiniMax-M2",
+ "reasoning": true,
+ "reasoning_options": [],
+ "interleaved": {
+ "field": "reasoning_details"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 204800,
+ "output": 176947
+ }
+ },
+ "mancer/weaver": {
+ "id": "mancer/weaver",
+ "name": "Weaver (alpha)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 0.75
+ },
+ "limit": {
+ "context": 8000,
+ "output": 6000
+ }
+ },
+ "stepfun/step-3.5-flash": {
+ "id": "stepfun/step-3.5-flash",
+ "name": "Step 3.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "stepfun/step-3.7-flash": {
+ "id": "stepfun/step-3.7-flash",
+ "name": "Step 3.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.15,
+ "cache_read": 0.04
+ },
+ "limit": {
+ "context": 262144,
+ "output": 230400
+ }
+ },
+ "dots-studio/dots-3-note-preview:free": {
+ "id": "dots-studio/dots-3-note-preview:free",
+ "name": "Dots3-Note Preview (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 512000,
+ "output": 460800
+ }
+ },
+ "inception/mercury-2.5": {
+ "id": "inception/mercury-2.5",
+ "name": "Mercury 2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.04,
+ "output": 0.15,
+ "cache_read": 0.004
+ },
+ "limit": {
+ "context": 260000,
+ "output": 65536
+ }
+ },
+ "inception/mercury-2": {
+ "id": "inception/mercury-2",
+ "name": "Mercury 2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 0.75,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 128000,
+ "output": 50000
+ }
+ },
+ "amazon/nova-lite-v1": {
+ "id": "amazon/nova-lite-v1",
+ "name": "Nova Lite 1.0",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.24
+ },
+ "limit": {
+ "context": 300000,
+ "output": 5120
+ }
+ },
+ "amazon/nova-2-lite-v1": {
+ "id": "amazon/nova-2-lite-v1",
+ "name": "Nova 2 Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65535
+ }
+ },
+ "amazon/nova-pro-v1": {
+ "id": "amazon/nova-pro-v1",
+ "name": "Nova Pro 1.0",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 3.2
+ },
+ "limit": {
+ "context": 300000,
+ "output": 5120
+ }
+ },
+ "amazon/nova-premier-v1": {
+ "id": "amazon/nova-premier-v1",
+ "name": "Nova Premier 1.0",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 12.5,
+ "cache_read": 0.625
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 32000
+ }
+ },
+ "amazon/nova-micro-v1": {
+ "id": "amazon/nova-micro-v1",
+ "name": "Nova Micro 1.0",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.035,
+ "output": 0.14
+ },
+ "limit": {
+ "context": 128000,
+ "output": 5120
+ }
+ },
+ "relace/relace-search": {
+ "id": "relace/relace-search",
+ "name": "Relace Search",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 3
+ },
+ "limit": {
+ "context": 256000,
+ "output": 128000
+ }
+ },
+ "relace/relace-apply-3": {
+ "id": "relace/relace-apply-3",
+ "name": "Relace Apply 3",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.85,
+ "output": 1.25
+ },
+ "limit": {
+ "context": 256000,
+ "output": 128000
+ }
+ },
+ "aion-labs/aion-2.0": {
+ "id": "aion-labs/aion-2.0",
+ "name": "Aion-2.0",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 1.6,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "aion-labs/aion-rp-llama-3.1-8b": {
+ "id": "aion-labs/aion-rp-llama-3.1-8b",
+ "name": "Aion-RP 1.0 (8B)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 1.6
+ },
+ "limit": {
+ "context": 32768,
+ "output": 29491
+ }
+ },
+ "aion-labs/aion-3.0": {
+ "id": "aion-labs/aion-3.0",
+ "name": "Aion-3.0",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 6,
+ "cache_read": 0.75
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "aion-labs/aion-3.5": {
+ "id": "aion-labs/aion-3.5",
+ "name": "Aion 3.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 6,
+ "cache_read": 0.75
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "aion-labs/aion-3.5-mini": {
+ "id": "aion-labs/aion-3.5-mini",
+ "name": "Aion 3.5 Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.7,
+ "output": 1.4,
+ "cache_read": 0.18
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "aion-labs/aion-3.0-mini": {
+ "id": "aion-labs/aion-3.0-mini",
+ "name": "Aion-3.0-Mini",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.7,
+ "output": 1.4,
+ "cache_read": 0.18
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "qwen/qwen3-235b-a22b-2507": {
+ "id": "qwen/qwen3-235b-a22b-2507",
+ "name": "Qwen3 235B A22B Instruct 2507",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.0875,
+ "output": 0.35,
+ "cache_read": 0.0175
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "qwen/qwen3-vl-235b-a22b-instruct": {
+ "id": "qwen/qwen3-vl-235b-a22b-instruct",
+ "name": "Qwen3 VL 235B A22B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.21,
+ "output": 1.9,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "qwen/qwen3.7-max": {
+ "id": "qwen/qwen3.7-max",
+ "name": "Qwen3.7 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.475,
+ "output": 4.425,
+ "cache_read": 0.295,
+ "cache_write": 1.84375
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qwen/qwen3.8-27b": {
+ "id": "qwen/qwen3.8-27b",
+ "name": "Qwen3.8 27B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.0249,
+ "output": 4.35,
+ "cache_read": 0.0199
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 235929
+ }
+ },
+ "qwen/qwen3-vl-235b-a22b-thinking": {
+ "id": "qwen/qwen3-vl-235b-a22b-thinking",
+ "name": "Qwen3 VL 235B A22B Thinking",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 4
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "qwen/qwen3.8-2.4t-a95b": {
+ "id": "qwen/qwen3.8-2.4t-a95b",
+ "name": "Qwen3.8 2.4T A95B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "qwen/qwen3.5-27b": {
+ "id": "qwen/qwen3.5-27b",
+ "name": "Qwen3.5 27B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.195,
+ "output": 1.56
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen/qwen3-next-80b-a3b-thinking": {
+ "id": "qwen/qwen3-next-80b-a3b-thinking",
+ "name": "Qwen3-Next 80B-A3B (Thinking)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "qwen/qwen3-coder-next": {
+ "id": "qwen/qwen3-coder-next",
+ "name": "Qwen3 Coder Next",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.12,
+ "output": 0.8,
+ "cache_read": 0.07
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "qwen/qwen3-coder": {
+ "id": "qwen/qwen3-coder",
+ "name": "Qwen3 Coder 480B A35B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen/qwen3-32b": {
+ "id": "qwen/qwen3-32b",
+ "name": "Qwen3 32B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.08,
+ "output": 0.28
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "qwen/qwen-plus": {
+ "id": "qwen/qwen-plus",
+ "name": "Qwen Plus",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.26,
+ "output": 0.78,
+ "cache_read": 0.052,
+ "cache_write": 0.325,
+ "tiers": [
+ {
+ "input": 0.78,
+ "output": 2.34,
+ "cache_read": 0.156,
+ "cache_write": 0.975,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 32768
+ }
+ },
+ "qwen/qwen3.7-flash": {
+ "id": "qwen/qwen3.7-flash",
+ "name": "Qwen3.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.03,
+ "output": 0.13,
+ "cache_read": 0.006,
+ "cache_write": 0.038,
+ "tiers": [
+ {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.02,
+ "cache_write": 0.125,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 0.2,
+ "output": 0.8,
+ "cache_read": 0.04,
+ "cache_write": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen/qwen3-max": {
+ "id": "qwen/qwen3-max",
+ "name": "Qwen3 Max",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.78,
+ "output": 3.9,
+ "cache_read": 0.156,
+ "cache_write": 0.975,
+ "tiers": [
+ {
+ "input": 1.56,
+ "output": 7.8,
+ "cache_read": 0.312,
+ "cache_write": 1.95,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 1.95,
+ "output": 9.75,
+ "cache_read": 0.39,
+ "cache_write": 2.4375,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen/qwen3-coder-30b-a3b-instruct": {
+ "id": "qwen/qwen3-coder-30b-a3b-instruct",
+ "name": "Qwen3-Coder 30B-A3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.07,
+ "output": 0.28
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "qwen/qwen3.8-omni-flash": {
+ "id": "qwen/qwen3.8-omni-flash",
+ "name": "Qwen3.8 Omni Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.47,
+ "cache_read": 0.016
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qwen/qwen3-vl-30b-a3b-instruct": {
+ "id": "qwen/qwen3-vl-30b-a3b-instruct",
+ "name": "Qwen3 VL 30B A3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6
+ },
+ "limit": {
+ "context": 262144,
+ "output": 16384
+ }
+ },
+ "qwen/qwen3-235b-a22b-thinking-2507": {
+ "id": "qwen/qwen3-235b-a22b-thinking-2507",
+ "name": "Qwen3 235B A22B Thinking 2507",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.23,
+ "output": 2.3
+ },
+ "limit": {
+ "context": 131072,
+ "output": 117964
+ }
+ },
+ "qwen/qwen3-235b-a22b": {
+ "id": "qwen/qwen3-235b-a22b",
+ "name": "Qwen3 235B-A22B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.455,
+ "output": 1.82
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen/qwen3.5-122b-a10b": {
+ "id": "qwen/qwen3.5-122b-a10b",
+ "name": "Qwen3.5 122B-A10B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.26,
+ "output": 2.08
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen/qwen-plus-2025-07-28": {
+ "id": "qwen/qwen-plus-2025-07-28",
+ "name": "Qwen Plus 0728",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.26,
+ "output": 0.78,
+ "tiers": [
+ {
+ "input": 0.78,
+ "output": 2.34,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 32768
+ }
+ },
+ "qwen/qwen3.6-35b-a3b": {
+ "id": "qwen/qwen3.6-35b-a3b",
+ "name": "Qwen3.6 35B-A3B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 1,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "qwen/qwen3-next-80b-a3b-instruct": {
+ "id": "qwen/qwen3-next-80b-a3b-instruct",
+ "name": "Qwen3-Next 80B-A3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 1.1,
+ "cache_read": 0.07
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "qwen/qwen3-vl-30b-a3b-thinking": {
+ "id": "qwen/qwen3-vl-30b-a3b-thinking",
+ "name": "Qwen3 VL 30B A3B Thinking",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 2.4
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "qwen/qwen3.6-flash": {
+ "id": "qwen/qwen3.6-flash",
+ "name": "Qwen3.6 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1875,
+ "output": 1.125,
+ "cache_write": 0.234375,
+ "tiers": [
+ {
+ "input": 0.75,
+ "output": 3,
+ "cache_write": 0.9375,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen/qwen3-coder-flash": {
+ "id": "qwen/qwen3-coder-flash",
+ "name": "Qwen3 Coder Flash",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.195,
+ "output": 0.975,
+ "cache_read": 0.039,
+ "cache_write": 0.24375,
+ "tiers": [
+ {
+ "input": 0.325,
+ "output": 1.625,
+ "cache_read": 0.065,
+ "cache_write": 0.40625,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 0.52,
+ "output": 2.6,
+ "cache_read": 0.104,
+ "cache_write": 0.65,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen/qwen-2.5-coder-32b-instruct": {
+ "id": "qwen/qwen-2.5-coder-32b-instruct",
+ "name": "Qwen2.5 Coder 32B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.66,
+ "output": 1
+ },
+ "limit": {
+ "context": 32768,
+ "output": 29491
+ }
+ },
+ "qwen/qwen3.5-flash-02-23": {
+ "id": "qwen/qwen3.5-flash-02-23",
+ "name": "Qwen3.5-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.065,
+ "output": 0.26
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen/qwen3-max-thinking": {
+ "id": "qwen/qwen3-max-thinking",
+ "name": "Qwen3 Max Thinking",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.78,
+ "output": 3.9,
+ "tiers": [
+ {
+ "input": 1.56,
+ "output": 7.8,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 1.95,
+ "output": 9.75,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen/qwen3-coder-plus": {
+ "id": "qwen/qwen3-coder-plus",
+ "name": "Qwen3 Coder Plus",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.65,
+ "output": 3.25,
+ "cache_read": 0.13,
+ "cache_write": 0.8125,
+ "tiers": [
+ {
+ "input": 1.17,
+ "output": 5.85,
+ "cache_read": 0.234,
+ "cache_write": 1.4625,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 1.95,
+ "output": 9.75,
+ "cache_read": 0.39,
+ "cache_write": 2.4375,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen/qwen3.5-9b": {
+ "id": "qwen/qwen3.5-9b",
+ "name": "Qwen3.5 9B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.15
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "qwen/qwen3.8-max-prime": {
+ "id": "qwen/qwen3.8-max-prime",
+ "name": "Qwen 3.8 Max Prime",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 12,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qwen/qwen3.5-plus-20260420": {
+ "id": "qwen/qwen3.5-plus-20260420",
+ "name": "Qwen3.5 Plus 2026-04-20",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.8,
+ "cache_write": 0.375,
+ "tiers": [
+ {
+ "input": 0.375,
+ "output": 2.25,
+ "cache_write": 0.46875,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen/qwen3.8-flash": {
+ "id": "qwen/qwen3.8-flash",
+ "name": "Qwen3.8 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.47,
+ "cache_read": 0.016,
+ "cache_write": 0.2
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qwen/qwen3.5-35b-a3b": {
+ "id": "qwen/qwen3.5-35b-a3b",
+ "name": "Qwen3.5 35B-A3B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1625,
+ "output": 1.3
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen/qwen3.6-max-preview": {
+ "id": "qwen/qwen3.6-max-preview",
+ "name": "Qwen3.6 Max Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.027,
+ "output": 6.162,
+ "cache_write": 1.28375,
+ "tiers": [
+ {
+ "input": 1.58,
+ "output": 9.48,
+ "cache_write": 1.975,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "qwen/qwen3-30b-a3b": {
+ "id": "qwen/qwen3-30b-a3b",
+ "name": "Qwen3 30B A3B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.13,
+ "output": 0.52
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen/qwen3.5-397b-a17b": {
+ "id": "qwen/qwen3.5-397b-a17b",
+ "name": "Qwen3.5 397B-A17B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.55,
+ "output": 3.5,
+ "cache_read": 0.225
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "qwen/qwen3-8b": {
+ "id": "qwen/qwen3-8b",
+ "name": "Qwen3 8B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.117,
+ "output": 0.455
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "qwen/qwen3-vl-32b-instruct": {
+ "id": "qwen/qwen3-vl-32b-instruct",
+ "name": "Qwen3 VL 32B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.104,
+ "output": 0.416
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "qwen/qwen3-vl-8b-instruct": {
+ "id": "qwen/qwen3-vl-8b-instruct",
+ "name": "Qwen3 VL 8B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.117,
+ "output": 0.455
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "qwen/qwen3-30b-a3b-instruct-2507": {
+ "id": "qwen/qwen3-30b-a3b-instruct-2507",
+ "name": "Qwen3 30B A3B Instruct 2507",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.04815,
+ "output": 0.19305
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32000
+ }
+ },
+ "qwen/qwen2.5-vl-72b-instruct": {
+ "id": "qwen/qwen2.5-vl-72b-instruct",
+ "name": "Qwen2.5 VL 72B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 1,
+ "cache_read": 0.4
+ },
+ "limit": {
+ "context": 128000,
+ "output": 115200
+ }
+ },
+ "qwen/qwen-2.5-7b-instruct": {
+ "id": "qwen/qwen-2.5-7b-instruct",
+ "name": "Qwen2.5 7B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.2
+ },
+ "limit": {
+ "context": 32768,
+ "output": 29491
+ }
+ },
+ "qwen/qwen3.5-plus-02-15": {
+ "id": "qwen/qwen3.5-plus-02-15",
+ "name": "Qwen3.5 Plus 2026-02-15",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.26,
+ "output": 1.56,
+ "tiers": [
+ {
+ "input": 0.325,
+ "output": 1.95,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen/qwen-2.5-72b-instruct": {
+ "id": "qwen/qwen-2.5-72b-instruct",
+ "name": "Qwen2.5 72B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.36,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 32768,
+ "output": 16384
+ }
+ },
+ "qwen/qwen3-30b-a3b-thinking-2507": {
+ "id": "qwen/qwen3-30b-a3b-thinking-2507",
+ "name": "Qwen3 30B A3B Thinking 2507",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 2.4
+ },
+ "limit": {
+ "context": 81920,
+ "output": 32768
+ }
+ },
+ "qwen/qwen3.6-27b": {
+ "id": "qwen/qwen3.6-27b",
+ "name": "Qwen3.6 27B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.32,
+ "output": 3.2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 81920
+ }
+ },
+ "qwen/qwen3.6-plus": {
+ "id": "qwen/qwen3.6-plus",
+ "name": "Qwen3.6 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.325,
+ "output": 1.95,
+ "cache_write": 0.40625,
+ "tiers": [
+ {
+ "input": 1.3,
+ "output": 3.9,
+ "cache_write": 1.625,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "qwen/qwen3-14b": {
+ "id": "qwen/qwen3-14b",
+ "name": "Qwen3 14B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.12,
+ "output": 0.24
+ },
+ "limit": {
+ "context": 131072,
+ "output": 16384
+ }
+ },
+ "qwen/qwen3-vl-8b-thinking": {
+ "id": "qwen/qwen3-vl-8b-thinking",
+ "name": "Qwen3 VL 8B Thinking",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.18,
+ "output": 2.1
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "qwen/qwen3.7-plus": {
+ "id": "qwen/qwen3.7-plus",
+ "name": "Qwen3.7 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.32,
+ "output": 1.28,
+ "cache_read": 0.064,
+ "cache_write": 0.4,
+ "tiers": [
+ {
+ "input": 0.96,
+ "output": 3.84,
+ "cache_read": 0.192,
+ "cache_write": 1.2,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "qwen/qwen3.8-27b:free": {
+ "id": "qwen/qwen3.8-27b:free",
+ "name": "Qwen3.8 27B (free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 235929
+ }
+ },
+ "qwen/qwen3.8-max-0902": {
+ "id": "qwen/qwen3.8-max-0902",
+ "name": "Qwen3.8 Max 0902",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "morph/morph-v3-large": {
+ "id": "morph/morph-v3-large",
+ "name": "Morph V3 Large",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.9,
+ "output": 1.9
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "morph/morph-v3-fast": {
+ "id": "morph/morph-v3-fast",
+ "name": "Morph V3 Fast",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 81920,
+ "output": 38000
+ }
+ },
+ "openai/gpt-5.4": {
+ "id": "openai/gpt-5.4",
+ "name": "GPT-5.4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 15,
+ "cache_read": 0.25,
+ "tiers": [
+ {
+ "input": 5,
+ "output": 22.5,
+ "cache_read": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.4-image-2": {
+ "id": "openai/gpt-5.4-image-2",
+ "name": "GPT-5.4 Image 2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["image", "text", "pdf"],
+ "output": ["image", "text"]
+ },
+ "cost": {
+ "input": 8,
+ "output": 15,
+ "cache_read": 2
+ },
+ "limit": {
+ "context": 272000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.4-pro": {
+ "id": "openai/gpt-5.4-pro",
+ "name": "GPT-5.4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 30,
+ "output": 180,
+ "tiers": [
+ {
+ "input": 60,
+ "output": 270,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-audio": {
+ "id": "openai/gpt-audio",
+ "name": "GPT Audio",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "openai/gpt-3.5-turbo": {
+ "id": "openai/gpt-3.5-turbo",
+ "name": "GPT-3.5-turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.5
+ },
+ "limit": {
+ "context": 16385,
+ "output": 4096
+ }
+ },
+ "openai/gpt-6-astra-pro": {
+ "id": "openai/gpt-6-astra-pro",
+ "name": "GPT-6 Astra Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tiers": [
+ {
+ "input": 20,
+ "output": 75,
+ "cache_read": 2,
+ "cache_write": 25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.5-pro": {
+ "id": "openai/gpt-5.5-pro",
+ "name": "GPT-5.5 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 30,
+ "output": 180,
+ "tiers": [
+ {
+ "input": 60,
+ "output": 270,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.4-nano": {
+ "id": "openai/gpt-5.4-nano",
+ "name": "GPT-5.4 nano",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.25,
+ "cache_read": 0.02
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-4o-2024-05-13": {
+ "id": "openai/gpt-4o-2024-05-13",
+ "name": "GPT-4o (2024-05-13)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 15
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "openai/gpt-4o-mini-2024-07-18": {
+ "id": "openai/gpt-4o-mini-2024-07-18",
+ "name": "GPT-4o-mini (2024-07-18)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "openai/gpt-5.2-codex": {
+ "id": "openai/gpt-5.2-codex",
+ "name": "GPT-5.2 Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.1-codex": {
+ "id": "openai/gpt-5.1-codex",
+ "name": "GPT-5.1 Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.13
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-4o": {
+ "id": "openai/gpt-4o",
+ "name": "GPT-4o",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "openai/gpt-chat-latest": {
+ "id": "openai/gpt-chat-latest",
+ "name": "GPT Chat Latest",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-audio-mini": {
+ "id": "openai/gpt-audio-mini",
+ "name": "GPT Audio Mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.4
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "openai/gpt-5.6-sol-pro": {
+ "id": "openai/gpt-5.6-sol-pro",
+ "name": "GPT-5.6 Sol Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5-mini": {
+ "id": "openai/gpt-5-mini",
+ "name": "GPT-5 Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.2-pro": {
+ "id": "openai/gpt-5.2-pro",
+ "name": "GPT-5.2 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["image", "text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 21,
+ "output": 168
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/o4-mini": {
+ "id": "openai/o4-mini",
+ "name": "o4-mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["image", "text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 4.4,
+ "cache_read": 0.275
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/o3-mini": {
+ "id": "openai/o3-mini",
+ "name": "o3-mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 4.4,
+ "cache_read": 0.55
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/gpt-4": {
+ "id": "openai/gpt-4",
+ "name": "GPT-4",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 30,
+ "output": 60
+ },
+ "limit": {
+ "context": 8191,
+ "output": 4096
+ }
+ },
+ "openai/gpt-5.3-codex": {
+ "id": "openai/gpt-5.3-codex",
+ "name": "GPT-5.3 Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-4.1-nano": {
+ "id": "openai/gpt-4.1-nano",
+ "name": "GPT-4.1 nano",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "openai/gpt-5-nano": {
+ "id": "openai/gpt-5-nano",
+ "name": "GPT-5 Nano",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.4,
+ "cache_read": 0.005
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/o1": {
+ "id": "openai/o1",
+ "name": "o1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 60,
+ "cache_read": 7.5
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/gpt-5-pro": {
+ "id": "openai/gpt-5-pro",
+ "name": "GPT-5 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["image", "text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 120
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-3.5-turbo-instruct": {
+ "id": "openai/gpt-3.5-turbo-instruct",
+ "name": "GPT-3.5 Turbo Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 2
+ },
+ "limit": {
+ "context": 4095,
+ "output": 3685
+ }
+ },
+ "openai/gpt-6.1-sol": {
+ "id": "openai/gpt-6.1-sol",
+ "name": "GPT-6.1 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.1,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.2,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-4o-2024-08-06": {
+ "id": "openai/gpt-4o-2024-08-06",
+ "name": "GPT-4o (2024-08-06)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "openai/gpt-6-astra": {
+ "id": "openai/gpt-6-astra",
+ "name": "GPT-6 Astra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tiers": [
+ {
+ "input": 20,
+ "output": 75,
+ "cache_read": 2,
+ "cache_write": 25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.6-luna-pro": {
+ "id": "openai/gpt-5.6-luna-pro",
+ "name": "GPT-5.6 Luna Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.2,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tiers": [
+ {
+ "input": 0.4,
+ "output": 1.8,
+ "cache_read": 0.04,
+ "cache_write": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.1": {
+ "id": "openai/gpt-5.1",
+ "name": "GPT-5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["image", "text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5-image-mini": {
+ "id": "openai/gpt-5-image-mini",
+ "name": "GPT-5 Image Mini",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["image", "text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 2,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-4o-mini": {
+ "id": "openai/gpt-4o-mini",
+ "name": "GPT-4o mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "openai/o3-pro": {
+ "id": "openai/o3-pro",
+ "name": "o3-pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "pdf", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 20,
+ "output": 80
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/gpt-oss-20b": {
+ "id": "openai/gpt-oss-20b",
+ "name": "GPT OSS 20B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.018,
+ "output": 0.09,
+ "cache_read": 0.009
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "openai/gpt-oss-safeguard-20b": {
+ "id": "openai/gpt-oss-safeguard-20b",
+ "name": "GPT OSS Safeguard 20B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.075,
+ "output": 0.3,
+ "cache_read": 0.0375
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "openai/o3-mini-high": {
+ "id": "openai/o3-mini-high",
+ "name": "o3 Mini High",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 4.4,
+ "cache_read": 0.55
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/gpt-3.5-turbo-16k": {
+ "id": "openai/gpt-3.5-turbo-16k",
+ "name": "GPT-3.5 Turbo 16k",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 4
+ },
+ "limit": {
+ "context": 16385,
+ "output": 4096
+ }
+ },
+ "openai/gpt-5.2-chat": {
+ "id": "openai/gpt-5.2-chat",
+ "name": "GPT-5.2 Chat",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 128000,
+ "output": 32000
+ }
+ },
+ "openai/gpt-6-sol-pro": {
+ "id": "openai/gpt-6-sol-pro",
+ "name": "GPT-6 Sol Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5-image": {
+ "id": "openai/gpt-5-image",
+ "name": "GPT-5 Image",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["image", "text", "pdf"],
+ "output": ["image", "text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 10,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.4-mini": {
+ "id": "openai/gpt-5.4-mini",
+ "name": "GPT-5.4 mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 4.5,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.6-luna": {
+ "id": "openai/gpt-5.6-luna",
+ "name": "GPT-5.6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.2,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tiers": [
+ {
+ "input": 0.4,
+ "output": 1.8,
+ "cache_read": 0.04,
+ "cache_write": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.1-codex-max": {
+ "id": "openai/gpt-5.1-codex-max",
+ "name": "GPT-5.1 Codex Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.2": {
+ "id": "openai/gpt-5.2",
+ "name": "GPT-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.5": {
+ "id": "openai/gpt-5.5",
+ "name": "GPT-5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 45,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-4.1": {
+ "id": "openai/gpt-4.1",
+ "name": "GPT-4.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "openai/gpt-4o-2024-11-20": {
+ "id": "openai/gpt-4o-2024-11-20",
+ "name": "GPT-4o (2024-11-20)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "openai/gpt-3.5-turbo-0613": {
+ "id": "openai/gpt-3.5-turbo-0613",
+ "name": "GPT-3.5 Turbo (older v0613)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 2
+ },
+ "limit": {
+ "context": 4095,
+ "output": 3685
+ }
+ },
+ "openai/gpt-4.1-mini": {
+ "id": "openai/gpt-4.1-mini",
+ "name": "GPT-4.1 mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 1.6,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "openai/gpt-5.6-terra-pro": {
+ "id": "openai/gpt-5.6-terra-pro",
+ "name": "GPT-5.6 Terra Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-6-luna": {
+ "id": "openai/gpt-6-luna",
+ "name": "GPT-6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.5,
+ "cache_read": 0.01,
+ "cache_write": 0.125,
+ "tiers": [
+ {
+ "input": 0.2,
+ "output": 0.75,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-6.1-sol-pro": {
+ "id": "openai/gpt-6.1-sol-pro",
+ "name": "GPT-6.1 Sol Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.1,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.2,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/o4-mini-high": {
+ "id": "openai/o4-mini-high",
+ "name": "o4 Mini High",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["image", "text", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 4.4,
+ "cache_read": 0.275
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/gpt-6-luna-pro": {
+ "id": "openai/gpt-6-luna-pro",
+ "name": "GPT-6 Luna Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["pdf", "image", "text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.5,
+ "cache_read": 0.01,
+ "cache_write": 0.125,
+ "tiers": [
+ {
+ "input": 0.2,
+ "output": 0.75,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.6-terra": {
+ "id": "openai/gpt-5.6-terra",
+ "name": "GPT-5.6 Terra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-4-turbo": {
+ "id": "openai/gpt-4-turbo",
+ "name": "GPT-4 Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 30
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "openai/gpt-oss-120b": {
+ "id": "openai/gpt-oss-120b",
+ "name": "GPT OSS 120B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.037,
+ "output": 0.17
+ },
+ "limit": {
+ "context": 131072,
+ "output": 117964
+ }
+ },
+ "openai/gpt-5.1-codex-mini": {
+ "id": "openai/gpt-5.1-codex-mini",
+ "name": "GPT-5.1 Codex mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/o3": {
+ "id": "openai/o3",
+ "name": "o3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/gpt-5": {
+ "id": "openai/gpt-5",
+ "name": "GPT-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.6-sol": {
+ "id": "openai/gpt-5.6-sol",
+ "name": "GPT-5.6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-6-sol": {
+ "id": "openai/gpt-6-sol",
+ "name": "GPT-6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/o1-pro": {
+ "id": "openai/o1-pro",
+ "name": "o1-pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 150,
+ "output": 600
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "microsoft/phi-4": {
+ "id": "microsoft/phi-4",
+ "name": "Phi 4",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.07,
+ "output": 0.14
+ },
+ "limit": {
+ "context": 16384,
+ "output": 14745
+ }
+ },
+ "microsoft/wizardlm-2-8x22b": {
+ "id": "microsoft/wizardlm-2-8x22b",
+ "name": "WizardLM-2 8x22B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.62,
+ "output": 0.62
+ },
+ "limit": {
+ "context": 65535,
+ "output": 8000
+ }
+ }
+ }
+ },
+ "togetherai": {
+ "id": "togetherai",
+ "name": "Together AI",
+ "env": ["TOGETHER_API_KEY"],
+ "npm": "@ai-sdk/togetherai",
+ "models": {
+ "meta-llama/Llama-3.3-70B-Instruct-Turbo": {
+ "id": "meta-llama/Llama-3.3-70B-Instruct-Turbo",
+ "name": "Llama 3.3 70B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.04,
+ "output": 1.04
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "meta-llama/Meta-Llama-3-8B-Instruct-Lite": {
+ "id": "meta-llama/Meta-Llama-3-8B-Instruct-Lite",
+ "name": "Meta Llama 3 8B Instruct Lite",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.14
+ },
+ "limit": {
+ "context": 8192,
+ "output": 8192
+ }
+ },
+ "pearl-ai/gemma-4-31b-it": {
+ "id": "pearl-ai/gemma-4-31b-it",
+ "name": "Pearl AI Gemma 4 31B Instruct",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.28,
+ "output": 0.86
+ },
+ "limit": {
+ "context": 32000,
+ "output": 32000
+ }
+ },
+ "deepcogito/cogito-v2-1-671b": {
+ "id": "deepcogito/cogito-v2-1-671b",
+ "name": "Cogito v2.1 671B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 1.25
+ },
+ "limit": {
+ "context": 163840,
+ "output": 163840
+ }
+ },
+ "thinkingmachines/Inkling": {
+ "id": "thinkingmachines/Inkling",
+ "name": "Inkling",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["max", "xhigh", "high", "medium", "low", "none"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 4.05,
+ "cache_read": 0.17
+ },
+ "limit": {
+ "context": 524288,
+ "output": 131072
+ }
+ },
+ "essentialai/Rnj-1-Instruct": {
+ "id": "essentialai/Rnj-1-Instruct",
+ "name": "Rnj-1 Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.15
+ },
+ "limit": {
+ "context": 32768,
+ "output": 32768
+ }
+ },
+ "google/gemma-3n-E4B-it": {
+ "id": "google/gemma-3n-E4B-it",
+ "name": "Gemma 3N E4B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.12
+ },
+ "limit": {
+ "context": 32768,
+ "output": 32768
+ }
+ },
+ "google/gemma-4-31B-it": {
+ "id": "google/gemma-4-31B-it",
+ "name": "Gemma 4 31B Instruct",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.39,
+ "output": 0.97
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "Qwen/Qwen3.7-Max": {
+ "id": "Qwen/Qwen3.7-Max",
+ "name": "Qwen3.7 Max",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 3.75,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 500000
+ }
+ },
+ "Qwen/Qwen2.5-7B-Instruct-Turbo": {
+ "id": "Qwen/Qwen2.5-7B-Instruct-Turbo",
+ "name": "Qwen 2.5 7B Instruct Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 0.3
+ },
+ "limit": {
+ "context": 32768,
+ "output": 32768
+ }
+ },
+ "Qwen/Qwen3-Coder-Next-FP8": {
+ "id": "Qwen/Qwen3-Coder-Next-FP8",
+ "name": "Qwen3 Coder Next FP8",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "Qwen/Qwen3-235B-A22B-Instruct-2507-tput": {
+ "id": "Qwen/Qwen3-235B-A22B-Instruct-2507-tput",
+ "name": "Qwen3 235B A22B Instruct 2507 FP8",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.6
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "Qwen/Qwen3.5-9B": {
+ "id": "Qwen/Qwen3.5-9B",
+ "name": "Qwen3.5 9B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.17,
+ "output": 0.25
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "Qwen/Qwen3.5-397B-A17B": {
+ "id": "Qwen/Qwen3.5-397B-A17B",
+ "name": "Qwen3.5 397B A17B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3.6,
+ "cache_read": 0.35
+ },
+ "limit": {
+ "context": 262144,
+ "output": 130000
+ }
+ },
+ "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": {
+ "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
+ "name": "Qwen3 Coder 480B A35B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "Qwen/Qwen3.6-Plus": {
+ "id": "Qwen/Qwen3.6-Plus",
+ "name": "Qwen3.6 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 500000
+ }
+ },
+ "LiquidAI/LFM2-24B-A2B": {
+ "id": "LiquidAI/LFM2-24B-A2B",
+ "name": "LFM2-24B-A2B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.03,
+ "output": 0.12
+ },
+ "limit": {
+ "context": 32768,
+ "output": 32768
+ }
+ },
+ "deepseek-ai/DeepSeek-V4-Flash-0731": {
+ "id": "deepseek-ai/DeepSeek-V4-Flash-0731",
+ "name": "DeepSeek V4 Flash 0731",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/DeepSeek-R1": {
+ "id": "deepseek-ai/DeepSeek-R1",
+ "name": "DeepSeek-R1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 7
+ },
+ "limit": {
+ "context": 163839,
+ "output": 163839
+ }
+ },
+ "deepseek-ai/DeepSeek-V4-Pro-0813": {
+ "id": "deepseek-ai/DeepSeek-V4-Pro-0813",
+ "name": "DeepSeek V4 Pro 0813",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.32,
+ "output": 3.96,
+ "cache_read": 0.13
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/DeepSeek-V4.1-Flash": {
+ "id": "deepseek-ai/DeepSeek-V4.1-Flash",
+ "name": "DeepSeek V4.1 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.006
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/DeepSeek-V3-1": {
+ "id": "deepseek-ai/DeepSeek-V3-1",
+ "name": "DeepSeek V3.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 1.7
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "deepseek-ai/DeepSeek-V4-Pro": {
+ "id": "deepseek-ai/DeepSeek-V4-Pro",
+ "name": "DeepSeek V4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.74,
+ "output": 3.48,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 512000,
+ "output": 384000
+ }
+ },
+ "deepseek-ai/DeepSeek-V3": {
+ "id": "deepseek-ai/DeepSeek-V3",
+ "name": "DeepSeek-V3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 1.25
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "MiniMaxAI/MiniMax-M3": {
+ "id": "MiniMaxAI/MiniMax-M3",
+ "name": "MiniMax-M3",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 524288,
+ "output": 250000
+ }
+ },
+ "MiniMaxAI/MiniMax-M2.5": {
+ "id": "MiniMaxAI/MiniMax-M2.5",
+ "name": "MiniMax-M2.5",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "MiniMaxAI/MiniMax-M2.7": {
+ "id": "MiniMaxAI/MiniMax-M2.7",
+ "name": "MiniMax-M2.7",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 196608,
+ "output": 131072
+ }
+ },
+ "moonshotai/Kimi-K3": {
+ "id": "moonshotai/Kimi-K3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "zai-org/GLM-5.1": {
+ "id": "zai-org/GLM-5.1",
+ "name": "GLM-5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 202752,
+ "output": 131072
+ }
+ },
+ "zai-org/GLM-5.2": {
+ "id": "zai-org/GLM-5.2",
+ "name": "GLM-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 1048575,
+ "output": 164000
+ }
+ },
+ "zai-org/GLM-5": {
+ "id": "zai-org/GLM-5",
+ "name": "GLM-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 3.2
+ },
+ "limit": {
+ "context": 202752,
+ "output": 131072
+ }
+ },
+ "zai-org/GLM-5.3-Flash": {
+ "id": "zai-org/GLM-5.3-Flash",
+ "name": "GLM-5.3-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048575,
+ "output": 400000
+ }
+ },
+ "zai-org/GLM-5.3": {
+ "id": "zai-org/GLM-5.3",
+ "name": "GLM-5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 262144
+ }
+ },
+ "nvidia/nemotron-3-ultra-550b-a55b": {
+ "id": "nvidia/nemotron-3-ultra-550b-a55b",
+ "name": "Nemotron 3 Ultra 550B A55B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3.6,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 512300,
+ "output": 512300
+ }
+ },
+ "openai/gpt-oss-20b": {
+ "id": "openai/gpt-oss-20b",
+ "name": "GPT OSS 20B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.2
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "openai/gpt-oss-120b": {
+ "id": "openai/gpt-oss-120b",
+ "name": "GPT OSS 120B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ }
+ }
+ },
+ "vercel": {
+ "id": "vercel",
+ "name": "Vercel AI Gateway",
+ "env": ["AI_GATEWAY_API_KEY"],
+ "npm": "@ai-sdk/gateway",
+ "models": {
+ "voyage/voyage-law-2": {
+ "id": "voyage/voyage-law-2",
+ "name": "voyage-law-2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "voyage/rerank-2.5-lite": {
+ "id": "voyage/rerank-2.5-lite",
+ "name": "Voyage Rerank 2.5 Lite",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 32000,
+ "output": 32000
+ }
+ },
+ "voyage/voyage-3.5": {
+ "id": "voyage/voyage-3.5",
+ "name": "voyage-3.5",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "voyage/voyage-finance-2": {
+ "id": "voyage/voyage-finance-2",
+ "name": "voyage-finance-2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "voyage/voyage-4-large": {
+ "id": "voyage/voyage-4-large",
+ "name": "voyage-4-large",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 32000,
+ "output": 0
+ }
+ },
+ "voyage/voyage-3.5-lite": {
+ "id": "voyage/voyage-3.5-lite",
+ "name": "voyage-3.5-lite",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "voyage/voyage-4": {
+ "id": "voyage/voyage-4",
+ "name": "voyage-4",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 32000,
+ "output": 0
+ }
+ },
+ "voyage/voyage-3-large": {
+ "id": "voyage/voyage-3-large",
+ "name": "voyage-3-large",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "voyage/voyage-code-2": {
+ "id": "voyage/voyage-code-2",
+ "name": "voyage-code-2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "voyage/voyage-code-3": {
+ "id": "voyage/voyage-code-3",
+ "name": "voyage-code-3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "voyage/rerank-2.5": {
+ "id": "voyage/rerank-2.5",
+ "name": "Voyage Rerank 2.5",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 32000,
+ "output": 32000
+ }
+ },
+ "voyage/voyage-4-lite": {
+ "id": "voyage/voyage-4-lite",
+ "name": "voyage-4-lite",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 32000,
+ "output": 0
+ }
+ },
+ "interfaze/interfaze-beta": {
+ "id": "interfaze/interfaze-beta",
+ "name": "Interfaze Beta",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 3.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 32000
+ }
+ },
+ "stealth/pixel-canary": {
+ "id": "stealth/pixel-canary",
+ "name": "Pixel Canary",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "xhigh"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "zai/glm-4.5": {
+ "id": "zai/glm-4.5",
+ "name": "GLM 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2,
+ "cache_read": 0.11
+ },
+ "limit": {
+ "context": 128000,
+ "output": 96000
+ }
+ },
+ "zai/glm-5v-turbo": {
+ "id": "zai/glm-5v-turbo",
+ "name": "GLM 5V Turbo",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.2,
+ "output": 4,
+ "cache_read": 0.24
+ },
+ "limit": {
+ "context": 200000,
+ "output": 128000
+ }
+ },
+ "zai/glm-5.3-flash": {
+ "id": "zai/glm-5.3-flash",
+ "name": "GLM 5.3 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131000
+ }
+ },
+ "zai/glm-4.6": {
+ "id": "zai/glm-4.6",
+ "name": "GLM 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2,
+ "cache_read": 0.11
+ },
+ "limit": {
+ "context": 200000,
+ "output": 96000
+ }
+ },
+ "zai/glm-5.2-fast": {
+ "id": "zai/glm-5.2-fast",
+ "name": "GLM 5.2 Fast",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.8,
+ "output": 8.8,
+ "cache_read": 0.56
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "zai/glm-5": {
+ "id": "zai/glm-5",
+ "name": "GLM-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 3.2
+ },
+ "limit": {
+ "context": 202800,
+ "output": 131100
+ }
+ },
+ "zai/glm-4.5v": {
+ "id": "zai/glm-4.5v",
+ "name": "GLM 4.5V",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 1.8,
+ "cache_read": 0.11
+ },
+ "limit": {
+ "context": 66000,
+ "output": 16000
+ }
+ },
+ "zai/glm-5.3-flashx": {
+ "id": "zai/glm-5.3-flashx",
+ "name": "GLM 5.3 FlashX",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.37,
+ "output": 1.25,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "zai/glm-4.7-flash": {
+ "id": "zai/glm-4.7-flash",
+ "name": "GLM 4.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.07,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 200000,
+ "output": 131000
+ }
+ },
+ "zai/glm-4.7": {
+ "id": "zai/glm-4.7",
+ "name": "GLM 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2
+ },
+ "limit": {
+ "context": 200000,
+ "output": 120000
+ }
+ },
+ "zai/glm-5.2": {
+ "id": "zai/glm-5.2",
+ "name": "GLM 5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 2.55,
+ "cache_read": 0.16
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "zai/glm-5.1": {
+ "id": "zai/glm-5.1",
+ "name": "GLM 5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26
+ },
+ "limit": {
+ "context": 202800,
+ "output": 64000
+ }
+ },
+ "zai/glm-4.7-flashx": {
+ "id": "zai/glm-4.7-flashx",
+ "name": "GLM 4.7 FlashX",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.4,
+ "cache_read": 0.01
+ },
+ "limit": {
+ "context": 200000,
+ "output": 128000
+ }
+ },
+ "zai/glm-5-turbo": {
+ "id": "zai/glm-5-turbo",
+ "name": "GLM 5 Turbo",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.2,
+ "output": 4,
+ "cache_read": 0.24
+ },
+ "limit": {
+ "context": 202800,
+ "output": 131072
+ }
+ },
+ "zai/glm-4.5-air": {
+ "id": "zai/glm-4.5-air",
+ "name": "GLM 4.5 Air",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.1,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 128000,
+ "output": 96000
+ }
+ },
+ "zai/glm-5.3": {
+ "id": "zai/glm-5.3",
+ "name": "GLM 5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.14
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 1000000
+ }
+ },
+ "zai/glm-5.3-fast": {
+ "id": "zai/glm-5.3-fast",
+ "name": "GLM 5.3 Fast",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.1,
+ "output": 6.6,
+ "cache_read": 0.21
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 262144
+ }
+ },
+ "spacexai/grok-4.20-multi-agent": {
+ "id": "spacexai/grok-4.20-multi-agent",
+ "name": "Grok 4.20 Multi-Agent",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 2000000
+ }
+ },
+ "spacexai/grok-tts": {
+ "id": "spacexai/grok-tts",
+ "name": "Grok TTS",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "spacexai/grok-4.20-reasoning": {
+ "id": "spacexai/grok-4.20-reasoning",
+ "name": "Grok 4.20 Reasoning",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 2000000
+ }
+ },
+ "spacexai/grok-4.7": {
+ "id": "spacexai/grok-4.7",
+ "name": "Grok 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ }
+ },
+ "spacexai/grok-voice-think-fast-1.0": {
+ "id": "spacexai/grok-voice-think-fast-1.0",
+ "name": "Grok Voice Think Fast 1.0",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text", "audio"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "spacexai/grok-4.20-non-reasoning": {
+ "id": "spacexai/grok-4.20-non-reasoning",
+ "name": "Grok 4.20 Non-Reasoning",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 2000000
+ }
+ },
+ "spacexai/grok-stt": {
+ "id": "spacexai/grok-stt",
+ "name": "Grok STT",
+ "reasoning": false,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "spacexai/grok-imagine-image": {
+ "id": "spacexai/grok-imagine-image",
+ "name": "Grok Imagine Image",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "spacexai/grok-imagine-video": {
+ "id": "spacexai/grok-imagine-video",
+ "name": "Grok Imagine",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "spacexai/grok-4.1-fast-reasoning": {
+ "id": "spacexai/grok-4.1-fast-reasoning",
+ "name": "Grok 4.1 Fast Reasoning",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.5,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 1000000
+ }
+ },
+ "spacexai/grok-4.3": {
+ "id": "spacexai/grok-4.3",
+ "name": "Grok 4.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 1000000
+ }
+ },
+ "spacexai/grok-imagine-video-1.5": {
+ "id": "spacexai/grok-imagine-video-1.5",
+ "name": "Grok Imagine Video 1.5",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "spacexai/grok-4.5": {
+ "id": "spacexai/grok-4.5",
+ "name": "Grok 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.3,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 0.6,
+ "tier": {
+ "type": "context",
+ "size": 200001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ }
+ },
+ "spacexai/grok-voice-think-fast-2.0": {
+ "id": "spacexai/grok-voice-think-fast-2.0",
+ "name": "Grok Voice Think Fast 2.0",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text", "audio"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "spacexai/grok-imagine-image-2.0": {
+ "id": "spacexai/grok-imagine-image-2.0",
+ "name": "Grok Imagine Image 2.0",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "spacexai/grok-4.20-multi-agent-beta": {
+ "id": "spacexai/grok-4.20-multi-agent-beta",
+ "name": "Grok 4.20 Multi Agent Beta",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 2000000
+ }
+ },
+ "spacexai/grok-4.20-non-reasoning-beta": {
+ "id": "spacexai/grok-4.20-non-reasoning-beta",
+ "name": "Grok 4.20 Beta Non-Reasoning",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.4,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 2000000
+ }
+ },
+ "spacexai/grok-build-0.1": {
+ "id": "spacexai/grok-build-0.1",
+ "name": "Grok Build 0.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 2,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2,
+ "output": 4,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ }
+ },
+ "spacexai/grok-4.1-fast-non-reasoning": {
+ "id": "spacexai/grok-4.1-fast-non-reasoning",
+ "name": "Grok 4.1 Fast Non-Reasoning",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.5,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 1000000
+ }
+ },
+ "spacexai/grok-4.20-reasoning-beta": {
+ "id": "spacexai/grok-4.20-reasoning-beta",
+ "name": "Grok 4.20 Beta Reasoning",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 2000000,
+ "output": 2000000
+ }
+ },
+ "spacexai/grok-4.6": {
+ "id": "spacexai/grok-4.6",
+ "name": "Grok 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ }
+ },
+ "prodia/flux-fast-schnell": {
+ "id": "prodia/flux-fast-schnell",
+ "name": "Flux Schnell",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 512,
+ "output": 0
+ }
+ },
+ "recraft/recraft-v2": {
+ "id": "recraft/recraft-v2",
+ "name": "Recraft V2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 512,
+ "output": 0
+ }
+ },
+ "recraft/recraft-v4-pro": {
+ "id": "recraft/recraft-v4-pro",
+ "name": "Recraft V4 Pro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "recraft/recraft-v4.1-utility": {
+ "id": "recraft/recraft-v4.1-utility",
+ "name": "Recraft V4.1 Utility",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "recraft/recraft-v4.1-pro": {
+ "id": "recraft/recraft-v4.1-pro",
+ "name": "Recraft V4.1 Pro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "recraft/recraft-v3": {
+ "id": "recraft/recraft-v3",
+ "name": "Recraft V3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 512,
+ "output": 0
+ }
+ },
+ "recraft/recraft-v4.1": {
+ "id": "recraft/recraft-v4.1",
+ "name": "Recraft V4.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "recraft/recraft-v4.1-flash": {
+ "id": "recraft/recraft-v4.1-flash",
+ "name": "Recraft V4.1 Flash",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "recraft/recraft-v4.1-utility-pro": {
+ "id": "recraft/recraft-v4.1-utility-pro",
+ "name": "Recraft V4.1 Utility Pro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "recraft/recraft-v4": {
+ "id": "recraft/recraft-v4",
+ "name": "Recraft V4",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "poolside/laguna-s-2.1-free": {
+ "id": "poolside/laguna-s-2.1-free",
+ "name": "Laguna S 2.1 Free",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 32768
+ }
+ },
+ "poolside/laguna-s-2.1": {
+ "id": "poolside/laguna-s-2.1",
+ "name": "Laguna S 2.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.2,
+ "cache_read": 0.01
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "anthropic/claude-opus-4.5": {
+ "id": "anthropic/claude-opus-4.5",
+ "name": "Claude Opus 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "anthropic/claude-opus-4.6": {
+ "id": "anthropic/claude-opus-4.6",
+ "name": "Claude Opus 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-opus-4.7": {
+ "id": "anthropic/claude-opus-4.7",
+ "name": "Claude Opus 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-3-haiku": {
+ "id": "anthropic/claude-3-haiku",
+ "name": "Claude Haiku 3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1.25,
+ "cache_read": 0.03,
+ "cache_write": 0.3
+ },
+ "limit": {
+ "context": 200000,
+ "output": 4096
+ }
+ },
+ "anthropic/claude-opus-4.8": {
+ "id": "anthropic/claude-opus-4.8",
+ "name": "Claude Opus 4.8",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-opus-5.5-fast": {
+ "id": "anthropic/claude-opus-5.5-fast",
+ "name": "Claude Opus 5.5 (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 8,
+ "output": 40,
+ "cache_read": 0.4,
+ "cache_write": 10
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-haiku-4.5": {
+ "id": "anthropic/claude-haiku-4.5",
+ "name": "Claude Haiku 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 5,
+ "cache_read": 0.1,
+ "cache_write": 1.25
+ },
+ "limit": {
+ "context": 200000,
+ "output": 64000
+ }
+ },
+ "anthropic/claude-opus-5": {
+ "id": "anthropic/claude-opus-5",
+ "name": "Claude Opus 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 25,
+ "cache_read": 0.5,
+ "cache_write": 6.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-sonnet-5.5": {
+ "id": "anthropic/claude-sonnet-5.5",
+ "name": "Claude Sonnet 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-fable-5.1": {
+ "id": "anthropic/claude-fable-5.1",
+ "name": "Claude Fable 5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 0.25,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-fable-5": {
+ "id": "anthropic/claude-fable-5",
+ "name": "Claude Fable 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-opus-4.8-fast": {
+ "id": "anthropic/claude-opus-4.8-fast",
+ "name": "Claude Opus 4.8 (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-sonnet-4": {
+ "id": "anthropic/claude-sonnet-4",
+ "name": "Claude Sonnet 4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75,
+ "tiers": [
+ {
+ "input": 6,
+ "output": 22.5,
+ "cache_read": 0.6,
+ "cache_write": 7.5,
+ "tier": {
+ "type": "context",
+ "size": 200001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "anthropic/claude-sonnet-5": {
+ "id": "anthropic/claude-sonnet-5",
+ "name": "Claude Sonnet 5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-sonnet-4.6": {
+ "id": "anthropic/claude-sonnet-4.6",
+ "name": "Claude Sonnet 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "max"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75,
+ "tiers": [
+ {
+ "input": 6,
+ "output": 22.5,
+ "cache_read": 0.6,
+ "cache_write": 7.5,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-opus-5.5": {
+ "id": "anthropic/claude-opus-5.5",
+ "name": "Claude Opus 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.2,
+ "cache_write": 5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-opus-5-fast": {
+ "id": "anthropic/claude-opus-5-fast",
+ "name": "Claude Opus 5 (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "anthropic/claude-opus-4": {
+ "id": "anthropic/claude-opus-4",
+ "name": "Claude Opus 4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 75,
+ "cache_read": 1.5,
+ "cache_write": 18.75
+ },
+ "limit": {
+ "context": 200000,
+ "output": 32000
+ }
+ },
+ "anthropic/claude-sonnet-4.5": {
+ "id": "anthropic/claude-sonnet-4.5",
+ "name": "Claude Sonnet 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3,
+ "cache_write": 3.75
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "cohere/rerank-v4-fast": {
+ "id": "cohere/rerank-v4-fast",
+ "name": "Cohere Rerank 4 Fast",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 32000,
+ "output": 32000
+ }
+ },
+ "cohere/rerank-v4-pro": {
+ "id": "cohere/rerank-v4-pro",
+ "name": "Cohere Rerank 4 Pro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 32000,
+ "output": 32000
+ }
+ },
+ "cohere/command-a": {
+ "id": "cohere/command-a",
+ "name": "Command A",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10
+ },
+ "limit": {
+ "context": 256000,
+ "output": 8000
+ }
+ },
+ "cohere/embed-v4.0": {
+ "id": "cohere/embed-v4.0",
+ "name": "Embed v4.0",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 128000,
+ "output": 1536
+ }
+ },
+ "cohere/rerank-v3.5": {
+ "id": "cohere/rerank-v3.5",
+ "name": "Cohere Rerank 3.5",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 4096,
+ "output": 4096
+ }
+ },
+ "deepseek/deepseek-v4-flash-0731": {
+ "id": "deepseek/deepseek-v4-flash-0731",
+ "name": "DeepSeek V4 Flash 0731",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.076,
+ "output": 0.153,
+ "cache_read": 0.014
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "deepseek/deepseek-v4.1-flash": {
+ "id": "deepseek/deepseek-v4.1-flash",
+ "name": "DeepSeek V4.1 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.007
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 32768
+ }
+ },
+ "deepseek/deepseek-v4-flash-vision-exp": {
+ "id": "deepseek/deepseek-v4-flash-vision-exp",
+ "name": "DeepSeek V4 Flash Vision Exp",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2156,
+ "output": 0.6468,
+ "cache_read": 0.0068
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "deepseek/deepseek-v3.1-terminus": {
+ "id": "deepseek/deepseek-v3.1-terminus",
+ "name": "DeepSeek V3.1 Terminus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.27,
+ "output": 1,
+ "cache_read": 0.135
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "deepseek/deepseek-v4-pro-0813": {
+ "id": "deepseek/deepseek-v4-pro-0813",
+ "name": "DeepSeek V4 Pro 0813",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.66,
+ "output": 1.98,
+ "cache_read": 0.066
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "deepseek/deepseek-v3.2-thinking": {
+ "id": "deepseek/deepseek-v3.2-thinking",
+ "name": "DeepSeek V3.2 Thinking",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.62,
+ "output": 1.85
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8000
+ }
+ },
+ "deepseek/deepseek-v3.1": {
+ "id": "deepseek/deepseek-v3.1",
+ "name": "DeepSeek-V3.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 0.95,
+ "cache_read": 0.13
+ },
+ "limit": {
+ "context": 163840,
+ "output": 128000
+ }
+ },
+ "deepseek/deepseek-v4-pro": {
+ "id": "deepseek/deepseek-v4-pro",
+ "name": "DeepSeek V4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.66,
+ "output": 1.98,
+ "cache_read": 0.022
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "deepseek/deepseek-v3.2": {
+ "id": "deepseek/deepseek-v3.2",
+ "name": "DeepSeek V3.2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.62,
+ "output": 1.85
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8000
+ }
+ },
+ "deepseek/deepseek-v4-flash": {
+ "id": "deepseek/deepseek-v4-flash",
+ "name": "DeepSeek V4 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.13,
+ "output": 0.26,
+ "cache_read": 0.028
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 384000
+ }
+ },
+ "deepseek/deepseek-r1": {
+ "id": "deepseek/deepseek-r1",
+ "name": "DeepSeek-R1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.35,
+ "output": 5.4
+ },
+ "limit": {
+ "context": 128000,
+ "output": 32768
+ }
+ },
+ "quiverai/arrow-1.1": {
+ "id": "quiverai/arrow-1.1",
+ "name": "Arrow 1.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "quiverai/arrow-2": {
+ "id": "quiverai/arrow-2",
+ "name": "Arrow 2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.4,
+ "cache_write": 5
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "quiverai/arrow-2-telos": {
+ "id": "quiverai/arrow-2-telos",
+ "name": "Arrow 2 Telos",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 6,
+ "output": 30,
+ "cache_read": 0.6,
+ "cache_write": 7.5
+ },
+ "limit": {
+ "context": 131072,
+ "output": 65536
+ }
+ },
+ "bfl/flux-kontext-max": {
+ "id": "bfl/flux-kontext-max",
+ "name": "FLUX.1 Kontext Max",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 512,
+ "output": 0
+ }
+ },
+ "bfl/flux-pro-1.1-ultra": {
+ "id": "bfl/flux-pro-1.1-ultra",
+ "name": "FLUX1.1 [pro] Ultra",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 512,
+ "output": 0
+ }
+ },
+ "bfl/flux-3-video": {
+ "id": "bfl/flux-3-video",
+ "name": "Flux 3",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bfl/flux-2-flex": {
+ "id": "bfl/flux-2-flex",
+ "name": "FLUX.2 [flex]",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bfl/flux-2-klein-4b": {
+ "id": "bfl/flux-2-klein-4b",
+ "name": "FLUX.2 [klein] 4B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bfl/flux-pro-1.0-fill": {
+ "id": "bfl/flux-pro-1.0-fill",
+ "name": "FLUX.1 Fill [pro]",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 512,
+ "output": 0
+ }
+ },
+ "bfl/flux-2-klein-9b": {
+ "id": "bfl/flux-2-klein-9b",
+ "name": "FLUX.2 [klein] 9B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bfl/flux-2-pro": {
+ "id": "bfl/flux-2-pro",
+ "name": "FLUX.2 [pro]",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 67300,
+ "output": 67300
+ }
+ },
+ "bfl/flux-2-max": {
+ "id": "bfl/flux-2-max",
+ "name": "FLUX.2 [max]",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 67300,
+ "output": 67300
+ }
+ },
+ "bfl/flux-pro-1.1": {
+ "id": "bfl/flux-pro-1.1",
+ "name": "FLUX1.1 [pro]",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 512,
+ "output": 0
+ }
+ },
+ "bfl/flux-kontext-pro": {
+ "id": "bfl/flux-kontext-pro",
+ "name": "FLUX.1 Kontext Pro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 512,
+ "output": 0
+ }
+ },
+ "tencent/hy-mt2-lite": {
+ "id": "tencent/hy-mt2-lite",
+ "name": "Tencent Hy-MT2-Lite",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.044,
+ "output": 0.177
+ },
+ "limit": {
+ "context": 8000,
+ "output": 4000
+ }
+ },
+ "tencent/hy3": {
+ "id": "tencent/hy3",
+ "name": "Hy3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.58,
+ "cache_read": 0.035
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "tencent/hy-mt2-plus": {
+ "id": "tencent/hy-mt2-plus",
+ "name": "Tencent Hy-MT2-Plus",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.074,
+ "output": 0.295
+ },
+ "limit": {
+ "context": 8000,
+ "output": 4000
+ }
+ },
+ "tencent/hy-mt2-pro": {
+ "id": "tencent/hy-mt2-pro",
+ "name": "Tencent Hy-MT2-Pro",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.074,
+ "output": 0.295
+ },
+ "limit": {
+ "context": 8000,
+ "output": 4000
+ }
+ },
+ "tencent/hy4-preview": {
+ "id": "tencent/hy4-preview",
+ "name": "Tencent Hy4 Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.834,
+ "output": 2.501,
+ "cache_read": 0.042
+ },
+ "limit": {
+ "context": 1024000,
+ "output": 64000
+ }
+ },
+ "inference-net/schematron-v2-small": {
+ "id": "inference-net/schematron-v2-small",
+ "name": "Schematron V2 Small",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.23,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "inference-net/schematron-v2-turbo": {
+ "id": "inference-net/schematron-v2-turbo",
+ "name": "Schematron V2 Turbo",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.03,
+ "output": 0.15,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "thinkingmachines/inkling-small": {
+ "id": "thinkingmachines/inkling-small",
+ "name": "Inkling Small",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.45,
+ "output": 1.2,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 1000000
+ }
+ },
+ "thinkingmachines/inkling": {
+ "id": "thinkingmachines/inkling",
+ "name": "Inkling",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 4.05,
+ "cache_read": 0.17
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ }
+ },
+ "meituan/longcat-2.5-preview": {
+ "id": "meituan/longcat-2.5-preview",
+ "name": "LongCat 2.5 Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.006
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "perplexity/pplx-embed-v1-4b": {
+ "id": "perplexity/pplx-embed-v1-4b",
+ "name": "Embed v1 4b",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 32000,
+ "output": 0
+ }
+ },
+ "perplexity/pplx-embed-v1-0.6b": {
+ "id": "perplexity/pplx-embed-v1-0.6b",
+ "name": "Embed v1 0.6b",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 32000,
+ "output": 0
+ }
+ },
+ "perplexity/sonar": {
+ "id": "perplexity/sonar",
+ "name": "Sonar",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2.5,
+ "cache_write": 0.0625
+ },
+ "limit": {
+ "context": 127000,
+ "output": 8000
+ }
+ },
+ "meta/muse-spark-1.3": {
+ "id": "meta/muse-spark-1.3",
+ "name": "Muse Spark 1.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 4.25,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "meta/muse-glimmer-30b": {
+ "id": "meta/muse-glimmer-30b",
+ "name": "Muse Glimmer 30B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.35,
+ "output": 1.5,
+ "cache_read": 0.04
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "meta/muse-spark-1.1": {
+ "id": "meta/muse-spark-1.1",
+ "name": "Muse Spark 1.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 4.25,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "meta/llama-3.1-8b": {
+ "id": "meta/llama-3.1-8b",
+ "name": "Llama 3.1 8B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.22,
+ "output": 0.22
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "meta/llama-3.1-70b": {
+ "id": "meta/llama-3.1-70b",
+ "name": "Llama 3.1 70B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.72,
+ "output": 0.72
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "meta/muse-spark-1.2": {
+ "id": "meta/muse-spark-1.2",
+ "name": "Muse Spark 1.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 4.25,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "meta/muse-image-1.0": {
+ "id": "meta/muse-image-1.0",
+ "name": "Muse Image 1.0",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "meta/muse-spark-1.2-contributor": {
+ "id": "meta/muse-spark-1.2-contributor",
+ "name": "Muse Spark 1.2 Contributor",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.2,
+ "cache_read": 0.002
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "meta/muse-spark-1.3-contributor": {
+ "id": "meta/muse-spark-1.3-contributor",
+ "name": "Muse Spark 1.3 Contributor",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.2,
+ "cache_read": 0.002
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "meta/llama-3.3-70b": {
+ "id": "meta/llama-3.3-70b",
+ "name": "Llama-3.3-70B-Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "meta/llama-4-maverick": {
+ "id": "meta/llama-4-maverick",
+ "name": "Llama-4-Maverick-17B-128E-Instruct-FP8",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "meta/llama-4-scout": {
+ "id": "meta/llama-4-scout",
+ "name": "Llama-4-Scout-17B-16E-Instruct-FP8",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "arcee-ai/trinity-large-thinking": {
+ "id": "arcee-ai/trinity-large-thinking",
+ "name": "Trinity Large Thinking",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 0.9
+ },
+ "limit": {
+ "context": 262100,
+ "output": 80000
+ }
+ },
+ "alibaba/qwen3.5-flash": {
+ "id": "alibaba/qwen3.5-flash",
+ "name": "Qwen 3.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1,
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.01,
+ "cache_write": 0.125
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "alibaba/qwen-3-32b": {
+ "id": "alibaba/qwen-3-32b",
+ "name": "Qwen 3.32B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1,
+ "max": 38912
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.16,
+ "output": 0.64
+ },
+ "limit": {
+ "context": 128000,
+ "output": 8192
+ }
+ },
+ "alibaba/wan-v2.6-t2v": {
+ "id": "alibaba/wan-v2.6-t2v",
+ "name": "Wan v2.6 Text-to-Video",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "alibaba/qwen3-vl-235b-a22b-instruct": {
+ "id": "alibaba/qwen3-vl-235b-a22b-instruct",
+ "name": "Qwen3 VL 235B A22B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 1.6
+ },
+ "limit": {
+ "context": 131072,
+ "output": 129024
+ }
+ },
+ "alibaba/qwen3.7-max": {
+ "id": "alibaba/qwen3.7-max",
+ "name": "Qwen 3.7 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1,
+ "max": 262144
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 7.5,
+ "cache_read": 0.5,
+ "cache_write": 3.125
+ },
+ "limit": {
+ "context": 991000,
+ "output": 64000
+ }
+ },
+ "alibaba/qwen3.8-27b": {
+ "id": "alibaba/qwen3.8-27b",
+ "name": "Qwen3.8 27B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.1,
+ "cache_write": 0.625
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "alibaba/qwen3-vl-thinking": {
+ "id": "alibaba/qwen3-vl-thinking",
+ "name": "Qwen3 VL Thinking",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1,
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 4
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "alibaba/qwen3.8-2.4t-a95b": {
+ "id": "alibaba/qwen3.8-2.4t-a95b",
+ "name": "Qwen3.8 2.4T A95B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 262144,
+ "output": 128000
+ }
+ },
+ "alibaba/qwen3-next-80b-a3b-thinking": {
+ "id": "alibaba/qwen3-next-80b-a3b-thinking",
+ "name": "Qwen3 Next 80B A3B Thinking",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "alibaba/qwen3.8-max": {
+ "id": "alibaba/qwen3.8-max",
+ "name": "Qwen 3.8 Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 0,
+ "max": 262144
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 262144,
+ "output": 128000
+ }
+ },
+ "alibaba/qwen3-coder-next": {
+ "id": "alibaba/qwen3-coder-next",
+ "name": "Qwen3 Coder Next",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ }
+ },
+ "alibaba/qwen3-vl-instruct": {
+ "id": "alibaba/qwen3-vl-instruct",
+ "name": "Qwen3 VL Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 1.6
+ },
+ "limit": {
+ "context": 131072,
+ "output": 129024
+ }
+ },
+ "alibaba/qwen3-coder": {
+ "id": "alibaba/qwen3-coder",
+ "name": "Qwen3 Coder 480B A35B Instruct",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 7.5,
+ "cache_read": 0.3,
+ "tiers": [
+ {
+ "input": 2.7,
+ "output": 13.5,
+ "cache_read": 0.54,
+ "tier": {
+ "type": "context",
+ "size": 32001
+ }
+ },
+ {
+ "input": 4.5,
+ "output": 22.5,
+ "cache_read": 0.9,
+ "tier": {
+ "type": "context",
+ "size": 128001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "alibaba/qwen3.5-plus": {
+ "id": "alibaba/qwen3.5-plus",
+ "name": "Qwen 3.5 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1,
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2.4,
+ "cache_read": 0.04,
+ "cache_write": 0.5,
+ "tiers": [
+ {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05,
+ "cache_write": 0.625,
+ "tier": {
+ "type": "context",
+ "size": 256001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "alibaba/qwen-3.6-max-preview": {
+ "id": "alibaba/qwen-3.6-max-preview",
+ "name": "Qwen 3.6 Max Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1,
+ "max": 131072
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.3,
+ "output": 7.8,
+ "cache_read": 0.13,
+ "cache_write": 1.625,
+ "tiers": [
+ {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tier": {
+ "type": "context",
+ "size": 128000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 240000,
+ "output": 64000
+ }
+ },
+ "alibaba/wan-v2.6-i2v-flash": {
+ "id": "alibaba/wan-v2.6-i2v-flash",
+ "name": "Wan v2.6 Image-to-Video Flash",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "alibaba/wan-v2.6-r2v-flash": {
+ "id": "alibaba/wan-v2.6-r2v-flash",
+ "name": "Wan v2.6 Reference-to-Video Flash",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "alibaba/qwen-3-14b": {
+ "id": "alibaba/qwen-3-14b",
+ "name": "Qwen3-14B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.12,
+ "output": 0.24
+ },
+ "limit": {
+ "context": 40960,
+ "output": 16384
+ }
+ },
+ "alibaba/qwen3.7-flash": {
+ "id": "alibaba/qwen3.7-flash",
+ "name": "Qwen 3.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.03,
+ "output": 0.13,
+ "cache_read": 0.006,
+ "cache_write": 0.038,
+ "tiers": [
+ {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.02,
+ "cache_write": 0.125,
+ "tier": {
+ "type": "context",
+ "size": 32000
+ }
+ },
+ {
+ "input": 0.2,
+ "output": 0.8,
+ "cache_read": 0.04,
+ "cache_write": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 991000,
+ "output": 64000
+ }
+ },
+ "alibaba/qwen3-max": {
+ "id": "alibaba/qwen3-max",
+ "name": "Qwen3 Max",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.2,
+ "output": 6,
+ "cache_read": 0.24,
+ "tiers": [
+ {
+ "input": 2.4,
+ "output": 12,
+ "cache_read": 0.48,
+ "tier": {
+ "type": "context",
+ "size": 32001
+ }
+ },
+ {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.6,
+ "tier": {
+ "type": "context",
+ "size": 128001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "alibaba/qwen3-embedding-0.6b": {
+ "id": "alibaba/qwen3-embedding-0.6b",
+ "name": "Qwen3 Embedding 0.6B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 32768,
+ "output": 32768
+ }
+ },
+ "alibaba/qwen-3-30b": {
+ "id": "alibaba/qwen-3-30b",
+ "name": "Qwen3-30B-A3B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.12,
+ "output": 0.5
+ },
+ "limit": {
+ "context": 40960,
+ "output": 16384
+ }
+ },
+ "alibaba/qwen3.8-omni-flash": {
+ "id": "alibaba/qwen3.8-omni-flash",
+ "name": "Qwen 3.8 Omni Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "xhigh"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.47,
+ "cache_read": 0.016
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "alibaba/qwen3-coder-30b-a3b": {
+ "id": "alibaba/qwen3-coder-30b-a3b",
+ "name": "Qwen 3 Coder 30B A3B Instruct",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6
+ },
+ "limit": {
+ "context": 262144,
+ "output": 8192
+ }
+ },
+ "alibaba/qwen3-embedding-4b": {
+ "id": "alibaba/qwen3-embedding-4b",
+ "name": "Qwen3 Embedding 4B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 32768,
+ "output": 32768
+ }
+ },
+ "alibaba/qwen3-max-preview": {
+ "id": "alibaba/qwen3-max-preview",
+ "name": "Qwen3 Max Preview",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.2,
+ "output": 6,
+ "cache_read": 0.24,
+ "tiers": [
+ {
+ "input": 2.4,
+ "output": 12,
+ "cache_read": 0.48,
+ "tier": {
+ "type": "context",
+ "size": 32001
+ }
+ },
+ {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.6,
+ "tier": {
+ "type": "context",
+ "size": 128001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "alibaba/wan-v2.6-i2v": {
+ "id": "alibaba/wan-v2.6-i2v",
+ "name": "Wan v2.6 Image-to-Video",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "alibaba/qwen3-next-80b-a3b-instruct": {
+ "id": "alibaba/qwen3-next-80b-a3b-instruct",
+ "name": "Qwen3 Next 80B A3B Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 262114,
+ "output": 262114
+ }
+ },
+ "alibaba/wan-v2.5-t2v-preview": {
+ "id": "alibaba/wan-v2.5-t2v-preview",
+ "name": "Wan v2.5 Text-to-Video Preview",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "alibaba/qwen3-max-thinking": {
+ "id": "alibaba/qwen3-max-thinking",
+ "name": "Qwen 3 Max Thinking",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1,
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.2,
+ "output": 6,
+ "cache_read": 0.24,
+ "tiers": [
+ {
+ "input": 2.4,
+ "output": 12,
+ "cache_read": 0.48,
+ "tier": {
+ "type": "context",
+ "size": 32001
+ }
+ },
+ {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.6,
+ "tier": {
+ "type": "context",
+ "size": 128001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 256000,
+ "output": 65536
+ }
+ },
+ "alibaba/qwen3-coder-plus": {
+ "id": "alibaba/qwen3-coder-plus",
+ "name": "Qwen3 Coder Plus",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 1.8,
+ "output": 9,
+ "cache_read": 0.36,
+ "tier": {
+ "type": "context",
+ "size": 32001
+ }
+ },
+ {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.6,
+ "tier": {
+ "type": "context",
+ "size": 128001
+ }
+ },
+ {
+ "input": 6,
+ "output": 60,
+ "cache_read": 1.2,
+ "tier": {
+ "type": "context",
+ "size": 256001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65536
+ }
+ },
+ "alibaba/qwen3.8-max-prime": {
+ "id": "alibaba/qwen3.8-max-prime",
+ "name": "Qwen 3.8 Max Prime",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 0,
+ "max": 262144
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 12,
+ "cache_read": 0.5,
+ "cache_write": 5
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "alibaba/qwen3-235b-a22b-thinking": {
+ "id": "alibaba/qwen3-235b-a22b-thinking",
+ "name": "Qwen3 235B A22B Thinking 2507",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 1,
+ "max": 81920
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 4
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "alibaba/qwen3.8-flash": {
+ "id": "alibaba/qwen3.8-flash",
+ "name": "Qwen 3.8 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.47,
+ "cache_read": 0.016,
+ "cache_write": 0.2
+ },
+ "limit": {
+ "context": 991000,
+ "output": 128000
+ }
+ },
+ "alibaba/qwen3-embedding-8b": {
+ "id": "alibaba/qwen3-embedding-8b",
+ "name": "Qwen3 Embedding 8B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 32768,
+ "output": 32768
+ }
+ },
+ "alibaba/wan-v3.0-video": {
+ "id": "alibaba/wan-v3.0-video",
+ "name": "Wan v3.0 Video",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "alibaba/wan-v2.7-r2v": {
+ "id": "alibaba/wan-v2.7-r2v",
+ "name": "Wan v2.7 Reference-to-Video",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "alibaba/wan-v3.0-video-prime": {
+ "id": "alibaba/wan-v3.0-video-prime",
+ "name": "Wan v3.0 Video Prime",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "alibaba/qwen3.6-27b": {
+ "id": "alibaba/qwen3.6-27b",
+ "name": "Qwen 3.6 27B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1,
+ "max": 131072
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3.6
+ },
+ "limit": {
+ "context": 256000,
+ "output": 65536
+ }
+ },
+ "alibaba/qwen-3-235b": {
+ "id": "alibaba/qwen-3-235b",
+ "name": "Qwen3 235B A22B Instruct 2507",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.22,
+ "output": 0.88
+ },
+ "limit": {
+ "context": 262144,
+ "output": 16384
+ }
+ },
+ "alibaba/qwen3.6-plus": {
+ "id": "alibaba/qwen3.6-plus",
+ "name": "Qwen 3.6 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1,
+ "max": 131072
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05,
+ "cache_write": 0.625,
+ "tiers": [
+ {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "alibaba/qwen3.7-plus": {
+ "id": "alibaba/qwen3.7-plus",
+ "name": "Qwen 3.7 Plus",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1,
+ "max": 262144
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 1.6,
+ "cache_read": 0.08,
+ "cache_write": 0.5,
+ "tiers": [
+ {
+ "input": 1.2,
+ "output": 4.8,
+ "cache_read": 0.24,
+ "cache_write": 1.5,
+ "tier": {
+ "type": "context",
+ "size": 256000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "alibaba/wan-v2.6-r2v": {
+ "id": "alibaba/wan-v2.6-r2v",
+ "name": "Wan v2.6 Reference-to-Video",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "alibaba/qwen3.8-max-0902": {
+ "id": "alibaba/qwen3.8-max-0902",
+ "name": "Qwen3.8 Max 0902",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "xhigh"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 0,
+ "max": 262144
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25,
+ "cache_write": 2.5
+ },
+ "limit": {
+ "context": 991000,
+ "output": 128000
+ }
+ },
+ "alibaba/wan-v2.7-t2v": {
+ "id": "alibaba/wan-v2.7-t2v",
+ "name": "Wan v2.7 Text-to-Video",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "mixedbread/toast-1": {
+ "id": "mixedbread/toast-1",
+ "name": "Toast 1",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 0.72,
+ "cache_read": 0.036
+ },
+ "limit": {
+ "context": 131000,
+ "output": 4000
+ }
+ },
+ "klingai/kling-v2.6-t2v": {
+ "id": "klingai/kling-v2.6-t2v",
+ "name": "Kling v2.6 Text-to-Video",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "klingai/kling-v2.6-i2v": {
+ "id": "klingai/kling-v2.6-i2v",
+ "name": "Kling v2.6 Image-to-Video",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "klingai/kling-v2.5-turbo-t2v": {
+ "id": "klingai/kling-v2.5-turbo-t2v",
+ "name": "Kling v2.5 Turbo Text-to-Video",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "klingai/kling-v3.0-i2v": {
+ "id": "klingai/kling-v3.0-i2v",
+ "name": "Kling v3.0 Image-to-Video",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "klingai/kling-v3.0-motion-control": {
+ "id": "klingai/kling-v3.0-motion-control",
+ "name": "Kling v3.0 Motion Control",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "klingai/kling-v3.0-t2v": {
+ "id": "klingai/kling-v3.0-t2v",
+ "name": "Kling v3.0 Text-to-Video",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "klingai/kling-v2.6-motion-control": {
+ "id": "klingai/kling-v2.6-motion-control",
+ "name": "Kling v2.6 Motion Control",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "klingai/kling-v2.5-turbo-i2v": {
+ "id": "klingai/kling-v2.5-turbo-i2v",
+ "name": "Kling v2.5 Turbo Image-to-Video",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bytedance/seedream-5.0-lite": {
+ "id": "bytedance/seedream-5.0-lite",
+ "name": "Seedream 5.0 Lite",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bytedance/seedream-4.5": {
+ "id": "bytedance/seedream-4.5",
+ "name": "Seedream 4.5",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bytedance/seed-1.8": {
+ "id": "bytedance/seed-1.8",
+ "name": "Seed 1.8",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2,
+ "cache_read": 0.05,
+ "tiers": [
+ {
+ "input": 0.5,
+ "output": 4,
+ "cache_read": 0.05,
+ "tier": {
+ "type": "context",
+ "size": 128001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 256000,
+ "output": 32768
+ }
+ },
+ "bytedance/seed-2.1-turbo": {
+ "id": "bytedance/seed-2.1-turbo",
+ "name": "Seed 2.1 Turbo",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 2.5,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "bytedance/seedream-4.0": {
+ "id": "bytedance/seedream-4.0",
+ "name": "Seedream 4.0",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bytedance/seedance-v1.0-pro": {
+ "id": "bytedance/seedance-v1.0-pro",
+ "name": "Seedance v1.0 Pro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bytedance/seedance-2.0": {
+ "id": "bytedance/seedance-2.0",
+ "name": "Seedance 2.0",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bytedance/seedance-2.0-fast": {
+ "id": "bytedance/seedance-2.0-fast",
+ "name": "Seedance 2.0 Fast",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bytedance/seedance-v1.5-pro": {
+ "id": "bytedance/seedance-v1.5-pro",
+ "name": "Seedance v1.5 Pro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bytedance/seedance-2.0-mini": {
+ "id": "bytedance/seedance-2.0-mini",
+ "name": "Seedance 2.0 Mini",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bytedance/seedance-2.5": {
+ "id": "bytedance/seedance-2.5",
+ "name": "Seedance 2.5",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bytedance/seedance-v1.0-pro-fast": {
+ "id": "bytedance/seedance-v1.0-pro-fast",
+ "name": "Seedance v1.0 Pro Fast",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bytedance/seedream-5.0-pro": {
+ "id": "bytedance/seedream-5.0-pro",
+ "name": "Seedream 5.0 Pro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "bytedance/seed-1.6": {
+ "id": "bytedance/seed-1.6",
+ "name": "Seed 1.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2,
+ "cache_read": 0.05,
+ "tiers": [
+ {
+ "input": 0.5,
+ "output": 4,
+ "cache_read": 0.05,
+ "tier": {
+ "type": "context",
+ "size": 128001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 256000,
+ "output": 32000
+ }
+ },
+ "liquid/d1": {
+ "id": "liquid/d1",
+ "name": "Liquid d1",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 32000,
+ "output": 0
+ }
+ },
+ "google/gemma-4-31b-it": {
+ "id": "google/gemma-4-31b-it",
+ "name": "Gemma 4 31B IT",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.4
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "google/gemini-omni-flash-preview": {
+ "id": "google/gemini-omni-flash-preview",
+ "name": "Gemini Omni Flash Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 9
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 57920
+ }
+ },
+ "google/gemini-3.1-flash-image-preview": {
+ "id": "google/gemini-3.1-flash-image-preview",
+ "name": "Gemini 3.1 Flash Image Preview (Nano Banana 2)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "google/gemini-3.5-transcribe-live": {
+ "id": "google/gemini-3.5-transcribe-live",
+ "name": "Gemini 3.5 Transcribe Live",
+ "reasoning": false,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "google/gemini-2.5-flash-image": {
+ "id": "google/gemini-2.5-flash-image",
+ "name": "Nano Banana (Gemini 2.5 Flash Image)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 32768,
+ "output": 65535
+ }
+ },
+ "google/gemini-3.8-flash-lite-tts": {
+ "id": "google/gemini-3.8-flash-lite-tts",
+ "name": "Gemini 3.8 Flash-Lite TTS",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 6,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "google/text-multilingual-embedding-002": {
+ "id": "google/text-multilingual-embedding-002",
+ "name": "Text Multilingual Embedding 002",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "google/gemini-embedding-2": {
+ "id": "google/gemini-embedding-2",
+ "name": "Gemini Embedding 2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "google/gemini-3.6-flash": {
+ "id": "google/gemini-3.6-flash",
+ "name": "Gemini 3.6 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "google/veo-3.1-lite-generate-001": {
+ "id": "google/veo-3.1-lite-generate-001",
+ "name": "Veo 3.1 Lite Generate",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "google/gemma-4-26b-a4b-it": {
+ "id": "google/gemma-4-26b-a4b-it",
+ "name": "Gemma 4 26B A4B IT",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "google/gemini-3.5-flash-lite": {
+ "id": "google/gemini-3.5-flash-lite",
+ "name": "Gemini 3.5 Flash Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65000
+ }
+ },
+ "google/gemini-3.1-flash-image": {
+ "id": "google/gemini-3.1-flash-image",
+ "name": "Nano Banana 2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 131072,
+ "output": 32768
+ }
+ },
+ "google/gemini-3.1-pro-preview": {
+ "id": "google/gemini-3.1-pro-preview",
+ "name": "Gemini 3.1 Pro Preview",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "google/veo-3.1-fast-generate-001": {
+ "id": "google/veo-3.1-fast-generate-001",
+ "name": "Veo 3.1 Fast Generate",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "google/gemini-3-flash": {
+ "id": "google/gemini-3-flash",
+ "name": "Gemini 3 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 3,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65000
+ }
+ },
+ "google/gemini-3.5-flash": {
+ "id": "google/gemini-3.5-flash",
+ "name": "Gemini 3.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 9,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 64000
+ }
+ },
+ "google/gemini-3-pro-image": {
+ "id": "google/gemini-3-pro-image",
+ "name": "Nano Banana Pro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 65536,
+ "output": 32768
+ }
+ },
+ "google/veo-3.0-fast-generate-001": {
+ "id": "google/veo-3.0-fast-generate-001",
+ "name": "Veo 3.0 Fast Generate",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "google/gemini-3.8-live": {
+ "id": "google/gemini-3.8-live",
+ "name": "Gemini 3.8 Live",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 4.5
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "google/veo-3.1-generate-001": {
+ "id": "google/veo-3.1-generate-001",
+ "name": "Veo 3.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "google/gemini-3.1-flash-lite-image": {
+ "id": "google/gemini-3.1-flash-lite-image",
+ "name": "Gemini 3.1 Flash Lite Image (Nano Banana 2 Lite)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text", "image"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 65536,
+ "output": 4096
+ }
+ },
+ "google/gemini-3.7-flash": {
+ "id": "google/gemini-3.7-flash",
+ "name": "Gemini 3.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65535
+ }
+ },
+ "google/text-embedding-005": {
+ "id": "google/text-embedding-005",
+ "name": "Text Embedding 005",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "google/gemini-3.5-transcribe": {
+ "id": "google/gemini-3.5-transcribe",
+ "name": "Gemini 3.5 Transcribe",
+ "reasoning": false,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "google/gemini-3.8-flash": {
+ "id": "google/gemini-3.8-flash",
+ "name": "Gemini 3.8 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 3.75,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65535
+ }
+ },
+ "google/gemini-2.5-flash-lite": {
+ "id": "google/gemini-2.5-flash-lite",
+ "name": "Gemini 2.5 Flash Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ },
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.01
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65535
+ }
+ },
+ "google/gemini-embedding-001": {
+ "id": "google/gemini-embedding-001",
+ "name": "Gemini Embedding 001",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "google/gemini-3.8-flash-tts": {
+ "id": "google/gemini-3.8-flash-tts",
+ "name": "Gemini 3.8 Flash TTS",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 9,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "google/gemini-3.8-live-extended-thinking": {
+ "id": "google/gemini-3.8-live-extended-thinking",
+ "name": "Gemini 3.8 Live Extended Thinking",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 4.5
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "google/veo-3.0-generate-001": {
+ "id": "google/veo-3.0-generate-001",
+ "name": "Veo 3.0",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "google/gemini-3.1-flash-lite": {
+ "id": "google/gemini-3.1-flash-lite",
+ "name": "Gemini 3.1 Flash Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65000
+ }
+ },
+ "google/gemini-2.5-flash": {
+ "id": "google/gemini-2.5-flash",
+ "name": "Gemini 2.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 0,
+ "max": 24576
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "google/gemini-2.5-pro": {
+ "id": "google/gemini-2.5-pro",
+ "name": "Gemini 2.5 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens",
+ "min": 128,
+ "max": 32768
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 15,
+ "cache_read": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 65536
+ }
+ },
+ "fireworks/ember-1": {
+ "id": "fireworks/ember-1",
+ "name": "Ember-1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1024
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 1048576
+ }
+ },
+ "sakana/fugu-max": {
+ "id": "sakana/fugu-max",
+ "name": "Fugu Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high", "xhigh"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 1000000
+ }
+ },
+ "sakana/fugu-ultra-v2": {
+ "id": "sakana/fugu-ultra-v2",
+ "name": "Fugu Ultra v2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high", "xhigh"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 45,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 272001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 1000000
+ }
+ },
+ "sakana/namazu": {
+ "id": "sakana/namazu",
+ "name": "Sakana Namazu",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ }
+ },
+ "sakana/fugu-ultra": {
+ "id": "sakana/fugu-ultra",
+ "name": "Fugu Ultra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 45,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 272001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 1000000
+ }
+ },
+ "inclusionai/ling-3.1-flash-free": {
+ "id": "inclusionai/ling-3.1-flash-free",
+ "name": "Ling 3.1 Flash (Free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "inclusionai/ling-3.0-flash": {
+ "id": "inclusionai/ling-3.0-flash",
+ "name": "Ling 3.0 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.021,
+ "output": 0.063,
+ "cache_read": 0.0042
+ },
+ "limit": {
+ "context": 256000,
+ "output": 32000
+ }
+ },
+ "inclusionai/ling-3.1-flash": {
+ "id": "inclusionai/ling-3.1-flash",
+ "name": "Ling 3.1 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "inclusionai/ling-3.0-flash-sante": {
+ "id": "inclusionai/ling-3.0-flash-sante",
+ "name": "Ling 3.0 Flash Sante",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 32000
+ }
+ },
+ "inclusionai/ling-3.0-flash-vl": {
+ "id": "inclusionai/ling-3.0-flash-vl",
+ "name": "Ling 3.0 Flash VL",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.075,
+ "output": 0.22,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 256000,
+ "output": 32000
+ }
+ },
+ "inclusionai/ling-3.0-flash-fin": {
+ "id": "inclusionai/ling-3.0-flash-fin",
+ "name": "Ling 3.0 Flash Fin",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.075,
+ "output": 0.22,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 256000,
+ "output": 32000
+ }
+ },
+ "inclusionai/ling-3.0-flash-sante-free": {
+ "id": "inclusionai/ling-3.0-flash-sante-free",
+ "name": "Ling 3.0 Flash Sante (Free)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0
+ },
+ "limit": {
+ "context": 256000,
+ "output": 32000
+ }
+ },
+ "moonshotai/kimi-k3": {
+ "id": "moonshotai/kimi-k3",
+ "name": "Kimi K3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3,
+ "output": 15,
+ "cache_read": 0.3
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "moonshotai/kimi-k3-fast": {
+ "id": "moonshotai/kimi-k3-fast",
+ "name": "Kimi K3 Fast",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4.5,
+ "output": 22.5,
+ "cache_read": 0.45
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "moonshotai/kimi-k2.7-code-highspeed": {
+ "id": "moonshotai/kimi-k2.7-code-highspeed",
+ "name": "Kimi K2.7 Code High Speed",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.9,
+ "output": 8,
+ "cache_read": 0.38
+ },
+ "limit": {
+ "context": 262144,
+ "output": 32768
+ }
+ },
+ "moonshotai/kimi-k2.6": {
+ "id": "moonshotai/kimi-k2.6",
+ "name": "Kimi K2.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.16
+ },
+ "limit": {
+ "context": 262000,
+ "output": 262000
+ }
+ },
+ "moonshotai/kimi-k2-thinking": {
+ "id": "moonshotai/kimi-k2-thinking",
+ "name": "Kimi K2 Thinking",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.47,
+ "output": 2,
+ "cache_read": 0.141
+ },
+ "limit": {
+ "context": 216144,
+ "output": 216144
+ }
+ },
+ "moonshotai/kimi-k2.5": {
+ "id": "moonshotai/kimi-k2.5",
+ "name": "Kimi K2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 3
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ }
+ },
+ "moonshotai/kimi-k2": {
+ "id": "moonshotai/kimi-k2",
+ "name": "Kimi K2 Instruct",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.57,
+ "output": 2.3
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "moonshotai/kimi-k2.7-code": {
+ "id": "moonshotai/kimi-k2.7-code",
+ "name": "Kimi K2.7 Code",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.95,
+ "output": 4,
+ "cache_read": 0.19
+ },
+ "limit": {
+ "context": 256000,
+ "output": 32768
+ }
+ },
+ "nvidia/nemotron-3-nano-30b-a3b": {
+ "id": "nvidia/nemotron-3-nano-30b-a3b",
+ "name": "Nemotron 3 Nano 30B A3B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.2,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 262144,
+ "output": 262144
+ }
+ },
+ "nvidia/nemotron-3.5-lightning": {
+ "id": "nvidia/nemotron-3.5-lightning",
+ "name": "Nemotron 3.5 Lightning 30B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "budget_tokens",
+ "min": 1,
+ "max": 32768
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.2,
+ "cache_read": 0.01
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "nvidia/nemotron-nano-9b-v2": {
+ "id": "nvidia/nemotron-nano-9b-v2",
+ "name": "Nvidia Nemotron Nano 9B V2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.23
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "nvidia/nemotron-3-super-120b-a12b": {
+ "id": "nvidia/nemotron-3-super-120b-a12b",
+ "name": "NVIDIA Nemotron 3 Super 120B A12B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.65
+ },
+ "limit": {
+ "context": 256000,
+ "output": 32000
+ }
+ },
+ "nvidia/nemotron-3-ultra-550b-a55b": {
+ "id": "nvidia/nemotron-3-ultra-550b-a55b",
+ "name": "Nemotron 3 Ultra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.12
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65000
+ }
+ },
+ "nvidia/nemotron-nano-12b-v2-vl": {
+ "id": "nvidia/nemotron-nano-12b-v2-vl",
+ "name": "Nvidia Nemotron Nano 12B V2 VL",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.6
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "xiaomi/mimo-v2.6-pro": {
+ "id": "xiaomi/mimo-v2.6-pro",
+ "name": "MiMo V2.6 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.435,
+ "output": 0.87,
+ "cache_read": 0.0036
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "xiaomi/mimo-v2.5": {
+ "id": "xiaomi/mimo-v2.5",
+ "name": "MiMo M2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.0028
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 131100
+ }
+ },
+ "xiaomi/mimo-v2.6-pro-ultraspeed": {
+ "id": "xiaomi/mimo-v2.6-pro-ultraspeed",
+ "name": "MiMo V2.6 Pro UltraSpeed",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4.35,
+ "output": 8.7,
+ "cache_read": 0.036
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "xiaomi/mimo-v2.5-pro": {
+ "id": "xiaomi/mimo-v2.5-pro",
+ "name": "MiMo V2.5 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.435,
+ "output": 0.87,
+ "cache_read": 0.0036
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 131000
+ }
+ },
+ "xiaomi/mimo-v2.6-flash": {
+ "id": "xiaomi/mimo-v2.6-flash",
+ "name": "MiMo V2.6 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.0028
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "minimax/minimax-m2.5": {
+ "id": "minimax/minimax-m2.5",
+ "name": "MiniMax M2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.03,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131000
+ }
+ },
+ "minimax/minimax-m2.1-lightning": {
+ "id": "minimax/minimax-m2.1-lightning",
+ "name": "MiniMax M2.1 Lightning",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.4,
+ "cache_read": 0.03,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "minimax/minimax-h3": {
+ "id": "minimax/minimax-h3",
+ "name": "MiniMax H3",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "minimax/minimax-m2.7": {
+ "id": "minimax/minimax-m2.7",
+ "name": "Minimax M2.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131000
+ }
+ },
+ "minimax/minimax-h3-max": {
+ "id": "minimax/minimax-h3-max",
+ "name": "MiniMax H3 Max",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "minimax/minimax-m3": {
+ "id": "minimax/minimax-m3",
+ "name": "MiniMax M3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 512000,
+ "output": 512000
+ }
+ },
+ "minimax/minimax-m2.7-highspeed": {
+ "id": "minimax/minimax-m2.7-highspeed",
+ "name": "MiniMax M2.7 High Speed",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.06,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131100
+ }
+ },
+ "minimax/minimax-m2.5-highspeed": {
+ "id": "minimax/minimax-m2.5-highspeed",
+ "name": "MiniMax M2.5 High Speed",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.03,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131000
+ }
+ },
+ "minimax/minimax-m2.1": {
+ "id": "minimax/minimax-m2.1",
+ "name": "MiniMax M2.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.03,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "minimax/minimax-m2": {
+ "id": "minimax/minimax-m2",
+ "name": "MiniMax M2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "budget_tokens"
+ }
+ ],
+ "interleaved": true,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 1.2,
+ "cache_read": 0.03,
+ "cache_write": 0.375
+ },
+ "limit": {
+ "context": 205000,
+ "output": 196608
+ }
+ },
+ "stepfun/step-5-preview": {
+ "id": "stepfun/step-5-preview",
+ "name": "Step 5 Preview",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 2.7,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 1000000
+ }
+ },
+ "stepfun/step-3.5-flash": {
+ "id": "stepfun/step-3.5-flash",
+ "name": "StepFun 3.5 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.09,
+ "output": 0.3,
+ "cache_read": 0.02
+ },
+ "limit": {
+ "context": 262114,
+ "output": 262114
+ }
+ },
+ "stepfun/step-3.7-flash": {
+ "id": "stepfun/step-3.7-flash",
+ "name": "Step 3.7 Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.15,
+ "cache_read": 0.04
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ }
+ },
+ "inception/mercury-coder-small": {
+ "id": "inception/mercury-coder-small",
+ "name": "Mercury Coder Small Beta",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1
+ },
+ "limit": {
+ "context": 32000,
+ "output": 16384
+ }
+ },
+ "inception/mercury-2.5": {
+ "id": "inception/mercury-2.5",
+ "name": "Mercury 2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.04,
+ "output": 0.15,
+ "cache_read": 0.004
+ },
+ "limit": {
+ "context": 260000,
+ "output": 65536
+ }
+ },
+ "inception/mercury-2": {
+ "id": "inception/mercury-2",
+ "name": "Mercury 2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 0.75,
+ "cache_read": 0.024999999999999998
+ },
+ "limit": {
+ "context": 128000,
+ "output": 50000
+ }
+ },
+ "amazon/titan-embed-text-v2": {
+ "id": "amazon/titan-embed-text-v2",
+ "name": "Titan Text Embeddings V2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "amazon/nova-2-lite": {
+ "id": "amazon/nova-2-lite",
+ "name": "Nova 2 Lite",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ },
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 2.5,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 65535
+ }
+ },
+ "amazon/nova-lite": {
+ "id": "amazon/nova-lite",
+ "name": "Nova Lite",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.06,
+ "output": 0.24,
+ "cache_read": 0.015,
+ "cache_write": 0.06
+ },
+ "limit": {
+ "context": 300000,
+ "output": 10000
+ }
+ },
+ "amazon/nova-pro": {
+ "id": "amazon/nova-pro",
+ "name": "Nova Pro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 3.2,
+ "cache_read": 0.2,
+ "cache_write": 0.8
+ },
+ "limit": {
+ "context": 300000,
+ "output": 10000
+ }
+ },
+ "amazon/nova-micro": {
+ "id": "amazon/nova-micro",
+ "name": "Nova Micro",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.035,
+ "output": 0.14,
+ "cache_read": 0.00875,
+ "cache_write": 0.035
+ },
+ "limit": {
+ "context": 128000,
+ "output": 10000
+ }
+ },
+ "mistral/codestral-embed": {
+ "id": "mistral/codestral-embed",
+ "name": "Codestral Embed",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "mistral/mistral-nemo": {
+ "id": "mistral/mistral-nemo",
+ "name": "Mistral Nemo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.04,
+ "output": 0.17
+ },
+ "limit": {
+ "context": 60288,
+ "output": 16000
+ }
+ },
+ "mistral/mistral-medium-3.5": {
+ "id": "mistral/mistral-medium-3.5",
+ "name": "Mistral Medium Latest",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 7.5,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 262144,
+ "output": 256000
+ }
+ },
+ "mistral/mistral-small": {
+ "id": "mistral/mistral-small",
+ "name": "Mistral Small (latest)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.015
+ },
+ "limit": {
+ "context": 262144,
+ "output": 4000
+ }
+ },
+ "mistral/mistral-large-3": {
+ "id": "mistral/mistral-large-3",
+ "name": "Mistral Large 3",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.5,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 262144,
+ "output": 256000
+ }
+ },
+ "mistral/mistral-embed": {
+ "id": "mistral/mistral-embed",
+ "name": "Mistral Embed",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "mistral/ministral-14b": {
+ "id": "mistral/ministral-14b",
+ "name": "Ministral 14B",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.2,
+ "cache_read": 0.02
+ },
+ "limit": {
+ "context": 262144,
+ "output": 256000
+ }
+ },
+ "mistral/codestral": {
+ "id": "mistral/codestral",
+ "name": "Codestral (latest)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 0.9,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 256000,
+ "output": 4096
+ }
+ },
+ "mistral/ministral-8b": {
+ "id": "mistral/ministral-8b",
+ "name": "Ministral 8B (latest)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.1
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "mistral/ministral-3b": {
+ "id": "mistral/ministral-3b",
+ "name": "Ministral 3B (latest)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.04,
+ "output": 0.04
+ },
+ "limit": {
+ "context": 128000,
+ "output": 128000
+ }
+ },
+ "fish-audio/s2.1-pro": {
+ "id": "fish-audio/s2.1-pro",
+ "name": "S2.1 Pro",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "fish-audio/s1": {
+ "id": "fish-audio/s1",
+ "name": "S1",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "fish-audio/transcribe-1": {
+ "id": "fish-audio/transcribe-1",
+ "name": "Transcribe-1",
+ "reasoning": false,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "fish-audio/s2-pro": {
+ "id": "fish-audio/s2-pro",
+ "name": "S2 Pro",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "morph/morph-v3-fast": {
+ "id": "morph/morph-v3-fast",
+ "name": "Morph v3 Fast",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.8,
+ "output": 1.2
+ },
+ "limit": {
+ "context": 16000,
+ "output": 16000
+ }
+ },
+ "morph/morph-v3-large": {
+ "id": "morph/morph-v3-large",
+ "name": "Morph v3 Large",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.9,
+ "output": 1.9
+ },
+ "limit": {
+ "context": 32000,
+ "output": 32000
+ }
+ },
+ "openai/gpt-4.1-mini-fast": {
+ "id": "openai/gpt-4.1-mini-fast",
+ "name": "GPT-4.1 mini (Fast)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.7,
+ "output": 2.8,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "openai/o3-fast": {
+ "id": "openai/o3-fast",
+ "name": "o3 (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.5,
+ "output": 14,
+ "cache_read": 0.875
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/gpt-5.4": {
+ "id": "openai/gpt-5.4",
+ "name": "GPT 5.4",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 15,
+ "cache_read": 0.25,
+ "tiers": [
+ {
+ "input": 5,
+ "output": 22.5,
+ "cache_read": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.4-pro": {
+ "id": "openai/gpt-5.4-pro",
+ "name": "GPT 5.4 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 30,
+ "output": 180,
+ "tiers": [
+ {
+ "input": 60,
+ "output": 270,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-oss-safeguard-120b": {
+ "id": "openai/gpt-oss-safeguard-120b",
+ "name": "GPT OSS Safeguard 120B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16000
+ }
+ },
+ "openai/gpt-3.5-turbo": {
+ "id": "openai/gpt-3.5-turbo",
+ "name": "GPT-3.5 Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.5,
+ "output": 1.5
+ },
+ "limit": {
+ "context": 16385,
+ "output": 4096
+ }
+ },
+ "openai/gpt-5.2-fast": {
+ "id": "openai/gpt-5.2-fast",
+ "name": "GPT 5.2 (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.5,
+ "output": 28,
+ "cache_read": 0.35
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-4o-transcribe": {
+ "id": "openai/gpt-4o-transcribe",
+ "name": "GPT-4o Transcribe",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-5.5-pro": {
+ "id": "openai/gpt-5.5-pro",
+ "name": "GPT 5.5 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 30,
+ "output": 180,
+ "tiers": [
+ {
+ "input": 60,
+ "output": 270,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "openai/text-embedding-3-small": {
+ "id": "openai/text-embedding-3-small",
+ "name": "text-embedding-3-small",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "openai/gpt-5.4-nano": {
+ "id": "openai/gpt-5.4-nano",
+ "name": "GPT 5.4 Nano",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.25,
+ "cache_read": 0.02
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-realtime-2.1": {
+ "id": "openai/gpt-realtime-2.1",
+ "name": "gpt-realtime-2.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 24,
+ "cache_read": 0.4
+ },
+ "limit": {
+ "context": 128000,
+ "output": 32000
+ }
+ },
+ "openai/gpt-5.2-codex": {
+ "id": "openai/gpt-5.2-codex",
+ "name": "GPT-5.2-Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-4o-fast": {
+ "id": "openai/gpt-4o-fast",
+ "name": "GPT-4o (Fast)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4.25,
+ "output": 17,
+ "cache_read": 2.125
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "openai/gpt-5.1-codex": {
+ "id": "openai/gpt-5.1-codex",
+ "name": "GPT-5.1-Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.13
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-6.1-sol-fast": {
+ "id": "openai/gpt-6.1-sol-fast",
+ "name": "GPT-6.1 Sol (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.2,
+ "cache_write": 5,
+ "tiers": [
+ {
+ "input": 8,
+ "output": 30,
+ "cache_read": 0.4,
+ "cache_write": 10,
+ "tier": {
+ "type": "context",
+ "size": 272001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-live-1": {
+ "id": "openai/gpt-live-1",
+ "name": "GPT-Live 1",
+ "reasoning": false,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text", "audio"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-realtime-1.5": {
+ "id": "openai/gpt-realtime-1.5",
+ "name": "GPT-Realtime-1.5",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 16,
+ "cache_read": 0.4
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-4.1-nano-fast": {
+ "id": "openai/gpt-4.1-nano-fast",
+ "name": "GPT-4.1 nano (Fast)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 0.8,
+ "cache_read": 0.05
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "openai/gpt-5-codex": {
+ "id": "openai/gpt-5-codex",
+ "name": "GPT-5-Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.13
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-image-2": {
+ "id": "openai/gpt-image-2",
+ "name": "GPT Image 2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-5.6-luna-fast": {
+ "id": "openai/gpt-5.6-luna-fast",
+ "name": "GPT 5.6 Luna (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 2.4,
+ "cache_read": 0.04,
+ "cache_write": 0.5,
+ "tiers": [
+ {
+ "input": 0.8,
+ "output": 3.6,
+ "cache_read": 0.08,
+ "cache_write": 1,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-6-astra-fast": {
+ "id": "openai/gpt-6-astra-fast",
+ "name": "GPT-6 Astra (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 20,
+ "output": 100,
+ "cache_read": 2,
+ "cache_write": 25,
+ "tiers": [
+ {
+ "input": 40,
+ "output": 150,
+ "cache_read": 4,
+ "cache_write": 50,
+ "tier": {
+ "type": "context",
+ "size": 272001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.2-pro": {
+ "id": "openai/gpt-5.2-pro",
+ "name": "GPT 5.2 ",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 21,
+ "output": 168
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.1-thinking-fast": {
+ "id": "openai/gpt-5.1-thinking-fast",
+ "name": "GPT 5.1 Thinking (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 20,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/text-embedding-ada-002": {
+ "id": "openai/text-embedding-ada-002",
+ "name": "text-embedding-ada-002",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "openai/gpt-5.3-codex": {
+ "id": "openai/gpt-5.3-codex",
+ "name": "GPT 5.3 Codex",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/whisper-1": {
+ "id": "openai/whisper-1",
+ "name": "Whisper",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-5.3-codex-fast": {
+ "id": "openai/gpt-5.3-codex-fast",
+ "name": "GPT 5.3 Codex (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.5,
+ "output": 28,
+ "cache_read": 0.35
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.5-fast": {
+ "id": "openai/gpt-5.5-fast",
+ "name": "GPT 5.5 (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 12.5,
+ "output": 75,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-image-2.5-flare": {
+ "id": "openai/gpt-image-2.5-flare",
+ "name": "GPT Image 2.5 Flare",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-5.4-fast": {
+ "id": "openai/gpt-5.4-fast",
+ "name": "GPT 5.4 (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.6-sol-fast": {
+ "id": "openai/gpt-5.6-sol-fast",
+ "name": "GPT 5.6 Sol (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 8,
+ "output": 40,
+ "cache_read": 0.8,
+ "cache_write": 10,
+ "tiers": [
+ {
+ "input": 16,
+ "output": 60,
+ "cache_read": 1.6,
+ "cache_write": 20,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/o4-mini-fast": {
+ "id": "openai/o4-mini-fast",
+ "name": "o4-mini (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/gpt-5-pro": {
+ "id": "openai/gpt-5-pro",
+ "name": "GPT-5 pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 120
+ },
+ "limit": {
+ "context": 400000,
+ "output": 272000
+ }
+ },
+ "openai/gpt-6.1-sol": {
+ "id": "openai/gpt-6.1-sol",
+ "name": "GPT-6.1 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.1,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.2,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.1-thinking": {
+ "id": "openai/gpt-5.1-thinking",
+ "name": "GPT 5.1 Thinking",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/text-embedding-3-large": {
+ "id": "openai/text-embedding-3-large",
+ "name": "text-embedding-3-large",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 8192,
+ "output": 1536
+ }
+ },
+ "openai/gpt-6-astra": {
+ "id": "openai/gpt-6-astra",
+ "name": "GPT-6 Astra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 50,
+ "cache_read": 1,
+ "cache_write": 12.5,
+ "tiers": [
+ {
+ "input": 20,
+ "output": 75,
+ "cache_read": 2,
+ "cache_write": 25,
+ "tier": {
+ "type": "context",
+ "size": 272001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.4-mini-fast": {
+ "id": "openai/gpt-5.4-mini-fast",
+ "name": "GPT 5.4 Mini (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.5,
+ "output": 9,
+ "cache_read": 0.15
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-realtime-mini": {
+ "id": "openai/gpt-realtime-mini",
+ "name": "GPT-Realtime mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.4,
+ "cache_read": 0.06
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-5-mini-fast": {
+ "id": "openai/gpt-5-mini-fast",
+ "name": "GPT-5 mini (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.45,
+ "output": 3.6,
+ "cache_read": 0.045
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/o3-pro": {
+ "id": "openai/o3-pro",
+ "name": "o3 Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 20,
+ "output": 80
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/gpt-oss-20b": {
+ "id": "openai/gpt-oss-20b",
+ "name": "GPT OSS 20B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.03,
+ "output": 0.14
+ },
+ "limit": {
+ "context": 131072,
+ "output": 8192
+ }
+ },
+ "openai/gpt-oss-safeguard-20b": {
+ "id": "openai/gpt-oss-safeguard-20b",
+ "name": "gpt-oss-safeguard-20b",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.07,
+ "output": 0.2
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16000
+ }
+ },
+ "openai/gpt-image-2.5-sunburst": {
+ "id": "openai/gpt-image-2.5-sunburst",
+ "name": "GPT Image 2.5 Sunburst",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-5.6-terra-fast": {
+ "id": "openai/gpt-5.6-terra-fast",
+ "name": "GPT 5.6 Terra (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 24,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tiers": [
+ {
+ "input": 8,
+ "output": 36,
+ "cache_read": 0.8,
+ "cache_write": 10,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-image-1": {
+ "id": "openai/gpt-image-1",
+ "name": "GPT Image 1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 40,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-5.4-mini": {
+ "id": "openai/gpt-5.4-mini",
+ "name": "GPT 5.4 Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.75,
+ "output": 4.5,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.6-luna": {
+ "id": "openai/gpt-5.6-luna",
+ "name": "GPT 5.6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.2,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tiers": [
+ {
+ "input": 0.4,
+ "output": 1.8,
+ "cache_read": 0.04,
+ "cache_write": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.1-codex-max": {
+ "id": "openai/gpt-5.1-codex-max",
+ "name": "GPT 5.1 Codex Max",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.2": {
+ "id": "openai/gpt-5.2",
+ "name": "GPT-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.75,
+ "output": 14,
+ "cache_read": 0.175
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.5": {
+ "id": "openai/gpt-5.5",
+ "name": "GPT 5.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "minimal", "low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 30,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 10,
+ "output": 45,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-6-sol-fast": {
+ "id": "openai/gpt-6-sol-fast",
+ "name": "GPT-6 Sol (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tiers": [
+ {
+ "input": 8,
+ "output": 30,
+ "cache_read": 0.8,
+ "cache_write": 10,
+ "tier": {
+ "type": "context",
+ "size": 272001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/tts-1": {
+ "id": "openai/tts-1",
+ "name": "TTS-1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-6-luna-fast": {
+ "id": "openai/gpt-6-luna-fast",
+ "name": "GPT-6 Luna (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tiers": [
+ {
+ "input": 0.4,
+ "output": 1.5,
+ "cache_read": 0.04,
+ "cache_write": 0.5,
+ "tier": {
+ "type": "context",
+ "size": 272001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5-fast": {
+ "id": "openai/gpt-5-fast",
+ "name": "GPT-5 (Fast)",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 20,
+ "cache_read": 0.25
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-realtime-2": {
+ "id": "openai/gpt-realtime-2",
+ "name": "gpt-realtime-2",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "audio"],
+ "output": ["text", "audio"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 24,
+ "cache_read": 0.4
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-4.1-fast": {
+ "id": "openai/gpt-4.1-fast",
+ "name": "GPT-4.1 (Fast)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 3.5,
+ "output": 14,
+ "cache_read": 0.875
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "openai/gpt-6-luna": {
+ "id": "openai/gpt-6-luna",
+ "name": "GPT-6 Luna",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.5,
+ "cache_read": 0.01,
+ "cache_write": 0.125,
+ "tiers": [
+ {
+ "input": 0.2,
+ "output": 0.75,
+ "cache_read": 0.02,
+ "cache_write": 0.25,
+ "tier": {
+ "type": "context",
+ "size": 272001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-image-1-mini": {
+ "id": "openai/gpt-image-1-mini",
+ "name": "GPT Image 1 Mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8,
+ "cache_read": 0.2
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-4o-mini-transcribe": {
+ "id": "openai/gpt-4o-mini-transcribe",
+ "name": "GPT-4o mini Transcribe",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 5
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-image-1.5": {
+ "id": "openai/gpt-image-1.5",
+ "name": "GPT Image 1.5",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["image"]
+ },
+ "cost": {
+ "input": 5,
+ "output": 32,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-5.6-terra": {
+ "id": "openai/gpt-5.6-terra",
+ "name": "GPT 5.6 Terra",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 12,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 18,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-oss-120b": {
+ "id": "openai/gpt-oss-120b",
+ "name": "GPT OSS 120B",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.5,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 131072,
+ "output": 131072
+ }
+ },
+ "openai/gpt-5.1-codex-mini": {
+ "id": "openai/gpt-5.1-codex-mini",
+ "name": "GPT-5.1 Codex mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2,
+ "cache_read": 0.03
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-5.6-sol": {
+ "id": "openai/gpt-5.6-sol",
+ "name": "GPT 5.6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": [
+ "none",
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max"
+ ]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4,
+ "output": 20,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tiers": [
+ {
+ "input": 8,
+ "output": 30,
+ "cache_read": 0.8,
+ "cache_write": 10,
+ "tier": {
+ "type": "context",
+ "size": 272000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-4o-mini-fast": {
+ "id": "openai/gpt-4o-mini-fast",
+ "name": "GPT-4o mini (Fast)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 1,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "openai/gpt-realtime-whisper": {
+ "id": "openai/gpt-realtime-whisper",
+ "name": "gpt-realtime-whisper",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["audio"],
+ "output": ["text"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-6-sol": {
+ "id": "openai/gpt-6-sol",
+ "name": "GPT-6 Sol",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high", "xhigh", "max"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 10,
+ "cache_read": 0.2,
+ "cache_write": 2.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 15,
+ "cache_read": 0.4,
+ "cache_write": 5,
+ "tier": {
+ "type": "context",
+ "size": 272001
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1050000,
+ "output": 128000
+ }
+ },
+ "openai/tts-1-hd": {
+ "id": "openai/tts-1-hd",
+ "name": "TTS-1 HD",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["audio"]
+ },
+ "limit": {
+ "context": 0,
+ "output": 0
+ }
+ },
+ "openai/gpt-5": {
+ "id": "openai/gpt-5",
+ "name": "GPT-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 10,
+ "cache_read": 0.125
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/o3": {
+ "id": "openai/o3",
+ "name": "o3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/gpt-4-turbo": {
+ "id": "openai/gpt-4-turbo",
+ "name": "GPT-4 Turbo",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 10,
+ "output": 30
+ },
+ "limit": {
+ "context": 128000,
+ "output": 4096
+ }
+ },
+ "openai/gpt-4.1-mini": {
+ "id": "openai/gpt-4.1-mini",
+ "name": "GPT-4.1 mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.4,
+ "output": 1.6,
+ "cache_read": 0.1
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "openai/gpt-4.1": {
+ "id": "openai/gpt-4.1",
+ "name": "GPT-4.1",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 8,
+ "cache_read": 0.5
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "openai/gpt-4o-mini": {
+ "id": "openai/gpt-4o-mini",
+ "name": "GPT-4o mini",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.6,
+ "cache_read": 0.075
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ },
+ "openai/o1": {
+ "id": "openai/o1",
+ "name": "o1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 15,
+ "output": 60,
+ "cache_read": 7.5
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/gpt-5-nano": {
+ "id": "openai/gpt-5-nano",
+ "name": "GPT-5 Nano",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.05,
+ "output": 0.4,
+ "cache_read": 0.005
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-4.1-nano": {
+ "id": "openai/gpt-4.1-nano",
+ "name": "GPT-4.1 nano",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.1,
+ "output": 0.4,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 1047576,
+ "output": 32768
+ }
+ },
+ "openai/o3-mini": {
+ "id": "openai/o3-mini",
+ "name": "o3-mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 4.4,
+ "cache_read": 0.55
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/o4-mini": {
+ "id": "openai/o4-mini",
+ "name": "o4-mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.1,
+ "output": 4.4,
+ "cache_read": 0.275
+ },
+ "limit": {
+ "context": 200000,
+ "output": 100000
+ }
+ },
+ "openai/gpt-5-mini": {
+ "id": "openai/gpt-5-mini",
+ "name": "GPT-5 Mini",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["minimal", "low", "medium", "high"]
+ }
+ ],
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.25,
+ "output": 2,
+ "cache_read": 0.025
+ },
+ "limit": {
+ "context": 400000,
+ "output": 128000
+ }
+ },
+ "openai/gpt-4o": {
+ "id": "openai/gpt-4o",
+ "name": "GPT-4o",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2.5,
+ "output": 10,
+ "cache_read": 1.25
+ },
+ "limit": {
+ "context": 128000,
+ "output": 16384
+ }
+ }
+ }
+ },
+ "xai": {
+ "id": "xai",
+ "name": "xAI",
+ "env": ["XAI_API_KEY"],
+ "npm": "@ai-sdk/xai",
+ "models": {
+ "grok-4.7": {
+ "id": "grok-4.7",
+ "name": "Grok 4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ }
+ },
+ "grok-imagine-image": {
+ "id": "grok-imagine-image",
+ "name": "Grok Imagine Image",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["image", "pdf"]
+ },
+ "limit": {
+ "context": 16000,
+ "output": 0
+ }
+ },
+ "grok-imagine-video": {
+ "id": "grok-imagine-video",
+ "name": "Grok Imagine Video",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 1024,
+ "output": 0
+ }
+ },
+ "grok-4.3": {
+ "id": "grok-4.3",
+ "name": "Grok 4.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["none", "low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 30000
+ }
+ },
+ "grok-4.20-0309-reasoning": {
+ "id": "grok-4.20-0309-reasoning",
+ "name": "Grok 4.20 (Reasoning)",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 30000
+ }
+ },
+ "grok-imagine-video-1.5": {
+ "id": "grok-imagine-video-1.5",
+ "name": "Grok Imagine Video 1.5",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "audio", "pdf"],
+ "output": ["video"]
+ },
+ "limit": {
+ "context": 1024,
+ "output": 0
+ }
+ },
+ "grok-4.5": {
+ "id": "grok-4.5",
+ "name": "Grok 4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.3,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 0.6,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ }
+ },
+ "grok-4.20-0309-non-reasoning": {
+ "id": "grok-4.20-0309-non-reasoning",
+ "name": "Grok 4.20 (Non-Reasoning)",
+ "reasoning": false,
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 30000
+ }
+ },
+ "grok-imagine-image-quality": {
+ "id": "grok-imagine-image-quality",
+ "name": "Grok Imagine Image Quality",
+ "reasoning": false,
+ "temperature": false,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["image", "pdf"]
+ },
+ "limit": {
+ "context": 16000,
+ "output": 0
+ }
+ },
+ "grok-build-0.1": {
+ "id": "grok-build-0.1",
+ "name": "Grok Build 0.1",
+ "reasoning": true,
+ "reasoning_options": [],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 2,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2,
+ "output": 4,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 256000,
+ "output": 256000
+ }
+ },
+ "grok-4.20-multi-agent-0309": {
+ "id": "grok-4.20-multi-agent-0309",
+ "name": "Grok 4.20 Multi-Agent",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.25,
+ "output": 2.5,
+ "cache_read": 0.2,
+ "tiers": [
+ {
+ "input": 2.5,
+ "output": 5,
+ "cache_read": 0.4,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 30000
+ }
+ },
+ "grok-4.6": {
+ "id": "grok-4.6",
+ "name": "Grok 4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "medium", "high", "xhigh"]
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 2,
+ "output": 6,
+ "cache_read": 0.5,
+ "tiers": [
+ {
+ "input": 4,
+ "output": 12,
+ "cache_read": 1,
+ "tier": {
+ "type": "context",
+ "size": 200000
+ }
+ }
+ ]
+ },
+ "limit": {
+ "context": 500000,
+ "output": 500000
+ }
+ }
+ }
+ },
+ "xiaomi": {
+ "id": "xiaomi",
+ "name": "Xiaomi",
+ "env": ["XIAOMI_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.xiaomimimo.com/v1",
+ "models": {
+ "mimo-v2.6-pro": {
+ "id": "mimo-v2.6-pro",
+ "name": "MiMo-V2.6-Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.435,
+ "output": 0.87,
+ "cache_read": 0.0036
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "mimo-v2-flash": {
+ "id": "mimo-v2-flash",
+ "name": "MiMo-V2-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.0028
+ },
+ "limit": {
+ "context": 262144,
+ "output": 65536
+ }
+ },
+ "mimo-v2.5": {
+ "id": "mimo-v2.5",
+ "name": "MiMo-V2.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.0028
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "mimo-v2-omni": {
+ "id": "mimo-v2-omni",
+ "name": "MiMo-V2-Omni",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.0028
+ },
+ "limit": {
+ "context": 262144,
+ "output": 131072
+ }
+ },
+ "mimo-v2.6-pro-ultraspeed": {
+ "id": "mimo-v2.6-pro-ultraspeed",
+ "name": "MiMo-V2.6-Pro-UltraSpeed",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 4.35,
+ "output": 8.7,
+ "cache_read": 0.036
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "mimo-v2-pro": {
+ "id": "mimo-v2-pro",
+ "name": "MiMo-V2-Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.435,
+ "output": 0.87,
+ "cache_read": 0.0036
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "mimo-v2.5-pro": {
+ "id": "mimo-v2.5-pro",
+ "name": "MiMo-V2.5-Pro",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.435,
+ "output": 0.87,
+ "cache_read": 0.0036
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "mimo-v2.6-flash": {
+ "id": "mimo-v2.6-flash",
+ "name": "MiMo-V2.6-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "audio", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.14,
+ "output": 0.28,
+ "cache_read": 0.0028
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ },
+ "mimo-v2.5-pro-ultraspeed": {
+ "id": "mimo-v2.5-pro-ultraspeed",
+ "name": "MiMo-V2.5-Pro-UltraSpeed",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.305,
+ "output": 2.61,
+ "cache_read": 0.0108
+ },
+ "limit": {
+ "context": 1048576,
+ "output": 131072
+ }
+ }
+ }
+ },
+ "zai": {
+ "id": "zai",
+ "name": "Z.AI",
+ "env": ["ZHIPU_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.z.ai/api/paas/v4",
+ "models": {
+ "glm-4.6v": {
+ "id": "glm-4.6v",
+ "name": "GLM-4.6V",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 0.9
+ },
+ "limit": {
+ "context": 128000,
+ "output": 32768
+ }
+ },
+ "glm-4.5": {
+ "id": "glm-4.5",
+ "name": "GLM-4.5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2,
+ "cache_read": 0.11,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 98304
+ }
+ },
+ "glm-5v-turbo": {
+ "id": "glm-5v-turbo",
+ "name": "GLM-5V-Turbo",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.2,
+ "output": 4,
+ "cache_read": 0.24,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 131072
+ }
+ },
+ "glm-5.3-flash": {
+ "id": "glm-5.3-flash",
+ "name": "GLM-5.3-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.15,
+ "output": 0.5,
+ "cache_read": 0.03,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "glm-4.6": {
+ "id": "glm-4.6",
+ "name": "GLM-4.6",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2,
+ "cache_read": 0.11,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "glm-5": {
+ "id": "glm-5",
+ "name": "GLM-5",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1,
+ "output": 3.2,
+ "cache_read": 0.2,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "glm-4.6v-flash": {
+ "id": "glm-4.6v-flash",
+ "name": "GLM-4.6V-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 128000,
+ "output": 32768
+ }
+ },
+ "glm-4.5v": {
+ "id": "glm-4.5v",
+ "name": "GLM-4.5V",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 1.8
+ },
+ "limit": {
+ "context": 64000,
+ "output": 16384
+ }
+ },
+ "glm-5.3-flashx": {
+ "id": "glm-5.3-flashx",
+ "name": "GLM-5.3-FlashX",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.37,
+ "output": 1.25,
+ "cache_read": 0.075,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "glm-4.7-flash": {
+ "id": "glm-4.7-flash",
+ "name": "GLM-4.7-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 131072
+ }
+ },
+ "glm-4.7": {
+ "id": "glm-4.7",
+ "name": "GLM-4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.6,
+ "output": 2.2,
+ "cache_read": 0.11,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "glm-4.5-flash": {
+ "id": "glm-4.5-flash",
+ "name": "GLM-4.5-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 98304
+ }
+ },
+ "glm-5.2": {
+ "id": "glm-5.2",
+ "name": "GLM-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "glm-5.1": {
+ "id": "glm-5.1",
+ "name": "GLM-5.1",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 131072
+ }
+ },
+ "glm-4.7-flashx": {
+ "id": "glm-4.7-flashx",
+ "name": "GLM-4.7-FlashX",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.07,
+ "output": 0.4,
+ "cache_read": 0.01,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 131072
+ }
+ },
+ "glm-5-turbo": {
+ "id": "glm-5-turbo",
+ "name": "GLM-5-Turbo",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.2,
+ "output": 4,
+ "cache_read": 0.24,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 131072
+ }
+ },
+ "glm-4.5-air": {
+ "id": "glm-4.5-air",
+ "name": "GLM-4.5-Air",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.2,
+ "output": 1.1,
+ "cache_read": 0.03,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 131072,
+ "output": 98304
+ }
+ },
+ "glm-5.3": {
+ "id": "glm-5.3",
+ "name": "GLM-5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 1.4,
+ "output": 4.4,
+ "cache_read": 0.26,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ }
+ }
+ },
+ "zai-coding-plan": {
+ "id": "zai-coding-plan",
+ "name": "Z.AI Coding Plan",
+ "env": ["ZHIPU_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://api.z.ai/api/coding/paas/v4",
+ "models": {
+ "glm-5.3-flash": {
+ "id": "glm-5.3-flash",
+ "name": "GLM-5.3-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "glm-5.3-highspeed": {
+ "id": "glm-5.3-highspeed",
+ "name": "GLM-5.3 Highspeed",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "glm-5.2-highspeed": {
+ "id": "glm-5.2-highspeed",
+ "name": "GLM-5.2 Highspeed",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "glm-4.7": {
+ "id": "glm-4.7",
+ "name": "GLM-4.7",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 204800,
+ "output": 131072
+ }
+ },
+ "glm-5.2": {
+ "id": "glm-5.2",
+ "name": "GLM-5.2",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "glm-5-turbo": {
+ "id": "glm-5-turbo",
+ "name": "GLM-5-Turbo",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 200000,
+ "output": 131072
+ }
+ },
+ "glm-5.3": {
+ "id": "glm-5.3",
+ "name": "GLM-5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ }
+ }
+ },
+ "zhipuai-coding-plan": {
+ "id": "zhipuai-coding-plan",
+ "name": "Zhipu AI Coding Plan",
+ "env": ["ZHIPU_API_KEY"],
+ "npm": "@ai-sdk/openai-compatible",
+ "api": "https://open.bigmodel.cn/api/coding/paas/v4",
+ "models": {
+ "glm-5.3-flash": {
+ "id": "glm-5.3-flash",
+ "name": "GLM-5.3-Flash",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video", "pdf"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "glm-5.3-highspeed": {
+ "id": "glm-5.3-highspeed",
+ "name": "GLM-5.3 Highspeed",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "glm-5.3": {
+ "id": "glm-5.3",
+ "name": "GLM-5.3",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "effort",
+ "values": ["low", "high", "max"]
+ }
+ ],
+ "interleaved": {
+ "field": "reasoning_content"
+ },
+ "temperature": true,
+ "modalities": {
+ "input": ["text"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0,
+ "output": 0,
+ "cache_read": 0,
+ "cache_write": 0
+ },
+ "limit": {
+ "context": 1000000,
+ "output": 131072
+ }
+ },
+ "glm-4.6v": {
+ "id": "glm-4.6v",
+ "name": "GLM-4.6V",
+ "reasoning": true,
+ "reasoning_options": [
+ {
+ "type": "toggle"
+ }
+ ],
+ "temperature": true,
+ "modalities": {
+ "input": ["text", "image", "video"],
+ "output": ["text"]
+ },
+ "cost": {
+ "input": 0.3,
+ "output": 0.9
+ },
+ "limit": {
+ "context": 128000,
+ "output": 32768
+ }
+ }
+ }
+ }
+}